3.2-Air302(NB-IOT)-网络通信-UDP通信

<p><iframe name="ifd" src="https://mnifdv.cn/resource/cnblogs/Learn-NB-IOT-Air302-ForLua" frameborder="0" scrolling="auto" width="100%" height="1500"></iframe></p>

 

提要

关于网络通信:

每一台电脑都有自己的ip地址,每台电脑上的网络应用程序都有自己的通信端口,

张三的电脑(ip:192.168.1.110)上有一个网络应用程序A(通信端口5000),

李四的电脑(ip:192.168.1.220)上有一个网络应用程序B(通信端口8000),

张三给李四发消息,首先你要知道李四的ip地址,向指定的ip(李四ip:192.168.1.220)发信息,

信息就发到了李四的电脑。

再指定一下发送的端口号(通信端口8000),信息就发到了李四电脑的网络应用程序B上。

 

关于局域网和广域网;

只能一个局域范围内的网络访问就是局域网

列如:家庭里面一个路由器下设备之间通信(在一个路由器或者一个交换机下才能用的网络打印机)

列如:一个学校,公司或组织这个区域内进行网络通信的方式.

 

广域网:

大范围的基本上人人都能访问的网络.

列如:上网百度,现在的云服务器,手机使用流量上网.

 

无论局域网还是广域网,要想实现网络通信,最实质的也是IP地址和端口号.

IP地址确定下来访问的服务器,端口号确定下来服务器上的应用程序

 

说明

这节程序连接的服务器是 ntp1.aliyun.com  端口号 32

是阿里云的时间服务器

不过我没有封装好NTP协议,所以只连接上了,没有获取到数据

 

程序

复制代码
-- LuaTools需要PROJECT和VERSION这两个信息
PROJECT = "adcdemo"
VERSION = "1.0.0"

-- 一定要添加sys.lua !!!!
local sys = require "sys"


sys.taskInit(function()
    -- 等待联网
    while not socket.isReady() do 
        log.info("wait socket ready")
        sys.wait(1000) 
    end
    -- 建立netclient对象
    local netc = socket.udp()
    netc:host("ntp1.aliyun.com")--连接的服务器的IP地址
    netc:port(32)--端口号
    
    --连接成功回调
    netc:on("connect", function(id, re) 
        --0x1b,0x13,0x0b
        local hexdata = string.char(0x1b, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)
        netc:send(hexdata) --发送数据给服务器
    end)
    --接收数据回调
    netc:on("recv", function(id, data)
        log.info("recv", data)
    end)

    netc:start();--启动连接
end)

-- 用户代码已结束---------------------------------------------
-- 结尾总是这一句
sys.run()
-- sys.run()之后后面不要加任何语句!!!!!
复制代码

 

 

 

 

 

 

注:关闭连接  netc:closed()

 

连接自己电脑上的UDP参考上一节

 

posted on   广源时代  阅读(421)  评论(0编辑  收藏  举报

编辑推荐:
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具
历史上的今天:
2019-12-04 ESP8266 SDK开发: 外设篇-GPIO输入检测
2019-12-04 ESP8266 SDK开发: 外设篇-GPIO输出高低电平
2016-12-04 Permission is only granted to system apps
2016-12-04 Duplicate id @+id/imageView, already defined earlier in this layout,android
2016-12-04 Unexpected namespace prefix "xmlns" found for tag Linear Layout

导航

支付宝 QQ群
点击右上角即可分享
微信分享提示