3.1-Air302(NB-IOT)-网络通信-TCP客户端

<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地址确定下来访问的服务器,端口号确定下来服务器上的应用程序

 

说明

这节测试一下使用TCP客户端连接TCP服务器.

因为是GPRS,所以只能是外网访问(广域网).

如果用户想测试连接自己电脑上的TCP服务器,可以使用路由器或者花生壳映射(具体百度下吧)

这节测试程序连接的服务器是我的云服务器上的Web服务器,然后发送HTTP  GET指令获取服务器文件数据.

 

 

 

程序

 

 

 

-- 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.tcp()
    netc:host("mnif.cn")--连接的服务器的IP地址
    netc:port(80)--端口号
    --连接成功回调
    netc:on("connect", function(id, re) 
        netc:send("GET /1.txt HTTP/1.1\r\nHost: mnif.cn\r\n\r\n") --发送数据给服务器
    end)
    --接收数据回调
    netc:on("recv", function(id, data)
        log.info("recv", data)
    end)

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

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

 

 

 

 

注:关闭连接  netc:closed()

 

连接自己电脑上的TCP服务器

1.确定自己家的网络是单独拉的网线

2.打开网络调试助手,打开服务器,端口号随意,我设置的 8888

 

 

 

3.查看下自己电脑的IP地址

 

 

 

 

 

 

 

 

方案1 使用路由器映射(电脑连接了此路由器)

1.关闭防火墙

 

 

 

2.进入自家路由器,找到DMZ主机

 

 

 

3.在浏览器上面输入IP,获取到自家公网IP地址

 

 

 

 

4.测试一下使用上面的公网IP 223....  端口号 8888  连接一下

如果连接成功说明可以了,就可以用GSM测试了!

如果不可以,百度下路由器端口映射 或者 看方式2

 

 

 

 

方案2  使用花生壳

1.搜索花生壳

 

 

 

 

 

2.下载并安装,注册,登录

 

 

 

 

3.选择映射配置

 

 

 

 

4.输入先前注册的账号和密码

 

 

 

5.添加映射

 

 

 

6.按照下面说明填写

 

 

 

7.下面的意思是访问 IP地址: 358n960z57.wicp.vip   端口号:57766

就能够访问到本机192.168.0.105  上的8888端口的服务器应用程序

 

 

 

 

8.测试

 

 

 

 

9.用户可以修改程序测试

 

 

注:整个的通信流程实际上是把数据发送给了花生壳的服务器,然后花生壳的服务器

把数据发给了花生壳的客户端,花生壳的客户端又把数据发给了咱的调试助手.

 

posted on 2020-12-03 21:54  广源时代  阅读(1381)  评论(1编辑  收藏  举报

导航

支付宝 QQ群