搜索
bottom↓
回复: 20

LWIP TCP发送怪问题

[复制链接]

出0入0汤圆

发表于 2010-3-26 11:12:05 | 显示全部楼层 |阅读模式
用LWIP做TCP发送实验时候,TCP每次发送  TCP头部检验和都不对..导致不断重发,请问是什么问题

出0入0汤圆

 楼主| 发表于 2010-3-26 11:16:16 | 显示全部楼层
源,目的IP地址,端口,IP头部校验和都没有错。但是TCP包的检验和就错啦!!请高手指教。

出0入0汤圆

发表于 2010-3-26 12:18:53 | 显示全部楼层
RT-Thread里的LwIP?

出0入0汤圆

发表于 2010-3-26 12:25:43 | 显示全部楼层
应该是驱动的问题吧!

出0入0汤圆

 楼主| 发表于 2010-3-26 18:25:55 | 显示全部楼层
不是驱动问题,能ping通,能 发两次 netconn_write  超过两次就这样了.

出0入0汤圆

发表于 2010-3-26 18:28:37 | 显示全部楼层
是什么硬件平台呢?还有一种可能内存耗尽。

出0入0汤圆

 楼主| 发表于 2010-3-26 18:57:05 | 显示全部楼层
应该不是内存问题...发大量数据只要两次发完都没问题.

出0入0汤圆

发表于 2010-3-26 22:53:17 | 显示全部楼层
LZ你就这么简单说俩句,人家什么帮你解决啊?佩服回答问题的几位,真有耐心啊。

出0入0汤圆

 楼主| 发表于 2010-3-29 16:09:20 | 显示全部楼层
问题算找到了,TCP发送时候  会将数据分割为适当大小的TCP段, 当出现第三次 netconn_write时候,TCP将第二次netconn_write的数据跟第三次netconn_write的数据整合成一个包,,这时候抓包发现.. TCP包搭载的数据 乱码了..导致无法识别..数据包....不知道各位高手有没有遇到过这种问题,指点下小弟..

出0入0汤圆

 楼主| 发表于 2010-3-29 16:24:04 | 显示全部楼层
netconn_write(__pstNewConn, "<body><h1>这是LWIP TCP测试!</h1></body>", 40, NETCONN_COPY);
netconn_write(__pstNewConn, "<body><h1>这是LWIP TCP测试!</h1></body>", 40, NETCONN_COPY|NETCONN_MORE);
netconn_write(__pstNewConn, "<body><h1>这是LWIP TCP测试!</h1></body>", 40, NETCONN_COPY|NETCONN_MORE);
上面是程序

(原文件名:1.jpg)
第一次发送数据是对的

(原文件名:2.jpg)
注意红色部分..乱码的..

LWIP源码没有改过,,不知道怎么会出现这种问题..

出0入0汤圆

发表于 2010-3-29 18:28:00 | 显示全部楼层
这个百分之八九十可以断定是驱动的问题。至少lwip本身并无这个问题。

出0入0汤圆

 楼主| 发表于 2010-3-29 22:28:57 | 显示全部楼层
netconn_write(__pstNewConn, "<body><h1>这是LWIP TCP测试!</h1></body>", 40, NETCONN_COPY);
netconn_write(__pstNewConn, "<body><h1>这是LWIP TCP测试!</h1></body>", 40, NETCONN_COPY|NETCONN_MORE);
如果只用两次netconn_write 则能正常显示..  排除驱动问题..

出0入0汤圆

 楼主| 发表于 2010-3-29 23:13:11 | 显示全部楼层
接TCP包的.时候也没问题....

出0入0汤圆

发表于 2010-3-30 10:17:29 | 显示全部楼层
给楼上提示下,

一般问问题需要先把自己的问题、现象、所用到的环境描述清楚。

看上面的描述似乎并不是使用RT-Thread中带的LwIP,建议你直接发到其他版面试试。

出0入0汤圆

发表于 2010-3-30 10:24:51 | 显示全部楼层
从 __pstNewConn 这个看,应该是和焦海波的移植是一个风格的。呵呵。

出0入0汤圆

 楼主| 发表于 2010-3-30 12:41:42 | 显示全部楼层
是直接抄过来.的

出0入0汤圆

发表于 2010-3-30 13:17:45 | 显示全部楼层
呵呵,自己慢慢整吧,你问的问题相关信息都不是很详细,别人也没有办法帮你。

出0入0汤圆

发表于 2010-11-13 22:28:05 | 显示全部楼层
楼主你的问题解决了没有,我现在碰到和你一样的问题,其他的都通了就是TCP校验老是出错,第一包数据的发送是正常的,但是后面的数据出来就是校验出错。

出0入0汤圆

发表于 2011-3-19 11:32:33 | 显示全部楼层
还有人不?我现在用STM32F103ZE+enc28j60+RT_thread 0.3.0(Lwip)一直没有ping通,自己刚刚接触操作系统。有做过这个的能不能指导指导我。本人万分感谢。

出0入0汤圆

发表于 2011-4-1 09:12:54 | 显示全部楼层
mark
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-5-6 18:38

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

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