硬汉嵌入式论坛

 找回密码
 立即注册
查看: 1237|回复: 3
收起左侧

[LwIP] LwIP的自动分包,怎么让它组合起来,大神门求指导

[复制链接]

10

主题

38

回帖

68

积分

初级会员

积分
68
发表于 2024-8-23 15:56:01 | 显示全部楼层 |阅读模式
目前再用Lwip的TCP,使用socket接口发数据,发现数据组包不正常,求大神指导下


代码如下:


[C] 纯文本查看 复制代码
					write(tmp_client_fd, "0", 1);
					write(tmp_client_fd, ",", 1);
					write(tmp_client_fd, "no err", 6);


setsocketopt配置如下:
[C] 纯文本查看 复制代码
		int flag = 1;
		setsockopt(fd, IPPROTO_TCP, TCP_KEEPALIVE, &flag, sizeof flag);


期望结果:0,noerrr   (一个包发送)
实际结果:
0
,noerrr   (两个包发送)        




Snipaste_2024-08-23_15-54-06.png
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
116225
QQ
发表于 2024-8-23 15:59:37 | 显示全部楼层
目标端收发的数据对不对,对就是没问题的。TCP包一帧14xx字节。只是间隔有点长。看下你的目标端是不是在处理什么东西
回复

使用道具 举报

23

主题

335

回帖

404

积分

高级会员

积分
404
发表于 2024-8-23 16:35:14 | 显示全部楼层
TCP这种字节流的传输还是将数据丢到缓冲区或者环形缓冲区中根据自定义的协议慢慢分析吧。
回复

使用道具 举报

3

主题

425

回帖

434

积分

高级会员

积分
434
发表于 2024-8-24 10:05:53 | 显示全部楼层
tcp是流式传输,若作为消息发送;需要自己设计分包结构。比如每次发送之前先发送两个字节的整数作为后续数据的长度信息,接收端以此规则解析。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|Archiver|手机版|硬汉嵌入式论坛

GMT+8, 2025-6-10 15:06 , Processed in 0.255440 second(s), 28 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表