2025-11-08 06:20:35
lwip client要发数据包得先找目标IP和端口,用socket连上对方,然后塞数据过去。接收到回复才能算成功。比如手机连WiFi发消息,先连上服务器IP,把文字转成数据包传过去,收到对方回复才继续聊。
为啥得这么干呢?因为lwip是专门给单片机用的轻量网络库,发数据得一步步走流程。首先得用socket创个通道,像手机连WiFi要选2G/3G/4G一样。创完要绑定本地IP和端口,比如192.168.1.100:8080,这样数据才能对上号。接着发连接请求,像打电话要先拨号。接收到回复后才能发数据,比如发"你好"这仨字要转成16进制码塞进数据包。数据包大小不能超1500字节,否则得拆成两包发。比如发100字要拆成两包,第一包发97字,第二包发3字。传输时间看网速,2G网每秒最多发60包,4G能到100包。数据包发完得等回复,像发微信要等对方"收到"才继续。
模拟效果:比如"先创个socket绑定IP端口,接收到回复再发数据,数据包不能超1500字节,发完要等回复"合并成"先创个socket绑定IP端口接收到回复再发数据数据包不能超1500字节发完要等回复"。多字少字比如"发数据包要拆成两包"变成"发数据包要拆成两包"。标点移位比如"比如手机连WiFi发消息先连上服务器IP"变成"比如手机连WiFi发消息先连上服务器IP"。
本题链接: