UDP/TCP是物联网通信中常用的一种基础通信协议,是TCP/IP协议的核心。其中TCP是面向连接、可实现端到端可靠数据包发送;UDP是无连接的,无超时重发机制,数据流传输不完全可靠,但传输速度比TCP更快。本文从使用流程、SDK demo测试、TCP测试示例和常见问题四个方面介绍了如何快速实现ML307A模组的UDP/TCP双向通信功能。
一、UDP/TCP通信示例流程
二、SDK demo测试
SDK本身有UDP/TCP测试示例,下面我们通过烧录demo固件进行测试演示。
2.1 连接服务器
(1) 模组上电开机,等待初始化完成。当串口打印”please input cmds:”后,通过串口输入:
CM:ASOCKET:OPEN:0
其中,OPEN后面的参数0代表测试TCP连接;如果配置其它非0值则代表测试UDP连接。
(2) 上述指令执行后,通过串口可以观察到模组开始运行TCP测试用例,日志如下:
__on_eloop_cmd_OPEN_recv_event type=0
sock(3) open
sock(3) open request success, wait connect...
sock(3) connect_ok
sock(3) recv_ind: recv_avail=38, recv_len=38, data=
221.178.126.121:31893 CONNECTED OK
其中,sock括号中的3代表socket id值。
2.2 向服务器上报数据
(1) 服务器连接成功后,通过串口输入:
CM:ASOCKET:SEND:3