<p><iframe name="ifd" src="https://mnifdv.cn/resource/cnblogs/LearnCH579M" frameborder="0" scrolling="auto" width="100%" height="1500"></iframe></p>
测试
1.默认设置如下
网关地址:192.168.1.1
子网掩码:255.255.255.0
电脑地址:192.168.1.100
开发板地址:192.168.1.200
2.可在单片机程序net_init文件中修改配置
2.修改电脑配置
关闭电脑防火墙
打开电脑的网络配置,配置下电脑
3.使用一根网线把电脑网口和开发板网口连接
5.编译下载这节的程序到开发板
提示:开发板TCP监听的端口号为:6666
6.打开电脑TCP调试助手(安装下面这个,可以测试多路TCP客户端)
7.创建连接
IP地址填写开发板的IP地址,我的是192.168.1.200
开发板TCP服务器监听的端口号是 6666
8.开发板会打印连接的客户端信息
7.电脑调试助手发送数据给开发板(TCP服务器)
开发板(TCP服务器)接收到什么数据就回复什么数据, 同时会把接收的信息使用串口输出,
8.再创建个客户端去连接(通信测试自己去测试哈)
程序说明
1,程序是封装好了的,我说明一下使用
2,建一个TCP服务器变量
net_tcp_server_struct net_tcp_server;
3,把net_tcp_server_data 函数放到网络事件处理函数里面
4,设置下服务器监听的端口号,并创建服务器
下面的回调函数的写法就是这样子写,里面的处理程序后面我会说明(我提供的例子是支持多路连接的,所以程序有点多)
6,客户端连接之后就会进这个里面
因为实际项目可能需要在别的地方给客户端发送消息,所以记录下这个socket
下面写成if判断是判断哪个变量没有使用, 就使用哪个变量去记录
如果只有一路客户端可以直接
7,接收客户端的消息
在接收里面也可以知道客户端的ip地址和端口号
printf("ip address:%d,%d,%d,%d,%ld\r\n", SocketInf[socket_client_value->socket_id].IPAddr[0], SocketInf[socket_client_value->socket_id].IPAddr[1], SocketInf[socket_client_value->socket_id].IPAddr[2], SocketInf[socket_client_value->socket_id].IPAddr[3], SocketInf[socket_client_value->socket_id].DesPort );