
回复
本示例将演示如何在BearPi-HM_Nano开发板上使用socket编程创建UDP客户端,就收客户端消息并回复固定消息。
本案例主要使用了以下几个API完socket编程实验
描述:
在网络编程中所需要进行的第一件事情就是创建一个socket,无论是客户端还是服务器端,都需要创建一个socket,该函数返回socket文件描述符,类似于文件描述符。socket是一个结构体,被创建在内核中。
描述:
sendto() 用来将数据由指定的socket传给对方主机。参数s为已建好连线的socket。参数msg指向欲连线的数据内容,参数flags 一般设0,
描述:
从指定地址接收UDP数据报。
参数:
名字 | 描述 |
---|---|
s | socket描述符. |
buf | UDP数据报缓存地址. |
len | UDP数据报长度. |
flags | 该参数一般为0. |
from | 对方地址 |
fromlen | 对方地址长度. |
主要代码分析
完成Wifi热点的连接需要以下几步
socket
接口创建一个socket,AF_INT
表示ipv4,SOCK_STREAM
表示使用tcp协议sendto
接口发送数据到服务端。recvfrom
接口接收服务端发来的数据修改 applications\BearPi\BearPi-HM_Nano\sample
路径下 BUILD.gn 文件,指定 udp_client
参与编译。
使用 Socket tool 创建UDP服务端用于测试。
示例代码编译烧录代码后,按下开发板的RESET按键,在数据发送窗口输入要发送的数据,点击发送后开发板会回复固定消息,且开发板收到消息后会通过日志打印出来。