谁有异形 契约 百度资源契约百度云资源!谢谢

21ic官方微信-->
后使用快捷导航没有帐号?
请完成以下验证码
查看: 3920|回复: 9
lwip丢包的一些问题
&&已结帖(2)
主题帖子积分
资深技术员, 积分 458, 距离下一级还需 42 积分
资深技术员, 积分 458, 距离下一级还需 42 积分
主题帖子积分
专家等级:结帖率:100%
主题帖子积分
资深技术员, 积分 458, 距离下一级还需 42 积分
资深技术员, 积分 458, 距离下一级还需 42 积分
最近在做串口转以太网的东西,用lwip,结果发现了不少丢包的问题。首先是在封包的时候,我把1460个数据打一包发送出去,调用tcp_write,tcp_output,结果经常在几个固定位置丢1个数据,我以为是发送失败,判断这两个函数的返回值,如果不是ERR_OK就重发,结果还是相同的现象,而且这个丢包的位置和我封包的大小没有明显关系。
然后我把数据包变小,我设置成700个发送一次,这次在中间没有单独丢一个数的现象了,结果发现在我从串口大量的不间断发送数据的时候,会出现整包丢失的现象,而且在这之后再次发送数据,会将前次要发送的数据顶出来,中间没有丢失以前的东西,感觉就像队列里的东西没丢,但是没有往外发送,需要等待通知其发送出去一样。
二姨家的各位有没有懂以太网的大神,或者以前碰过相似问题的,好几天了,找不到问题在哪啊,哎!!
21ic公开课,21ic网友共同的学习圈子!学单片机、嵌入式、模拟、电源……就看这里
移步更多21ic独家微课:
主题帖子积分
资深技术员, 积分 468, 距离下一级还需 32 积分
资深技术员, 积分 468, 距离下一级还需 32 积分
主题帖子积分
专家等级:结帖率:83%
主题帖子积分
资深技术员, 积分 468, 距离下一级还需 32 积分
资深技术员, 积分 468, 距离下一级还需 32 积分
问题解决了没有?
21ic公开课,21ic网友共同的学习圈子!学单片机、嵌入式、模拟、电源……就看这里
移步更多21ic独家微课:
主题帖子积分
资深技术员, 积分 458, 距离下一级还需 42 积分
资深技术员, 积分 458, 距离下一级还需 42 积分
主题帖子积分
专家等级:结帖率:100%
主题帖子积分
资深技术员, 积分 458, 距离下一级还需 42 积分
资深技术员, 积分 458, 距离下一级还需 42 积分
这个问题不是lwip的问题,是串口的数据丢了。至于其他的一些超时什么的错误,基本上都是我的芯片RAM不够用,或者是lwipopts.h里的配置出现了问题。
21ic公开课,21ic网友共同的学习圈子!学单片机、嵌入式、模拟、电源……就看这里
移步更多21ic独家微课:
主题帖子积分
实习生, 积分 18, 距离下一级还需 32 积分
实习生, 积分 18, 距离下一级还需 32 积分
主题帖子积分
专家等级:结帖率:0%
主题帖子积分
实习生, 积分 18, 距离下一级还需 32 积分
实习生, 积分 18, 距离下一级还需 32 积分
请问楼主,我在调用tcp_write,tcp_output后telnet上收不到数据。我的函数是这样的,我知道简单的调用肯定是有问题的,但是不知道怎么搞,麻烦指教!
& & res_FIFO=QueueOut(&MyQueue1,&tcp_dat1);& & & & & & & &
& & j+=sprintf(uart_dat+j,&%s&,&tcp_dat1);
& & if(res_FIFO==QueueEmpty)
& & tcp_write(pcb,uart_dat,strlen(uart_dat), 1);
& & tcp_output(pcb);& & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & &
}while(res_FIFO==QueueOperateOk);& & & &
21ic公开课,21ic网友共同的学习圈子!学单片机、嵌入式、模拟、电源……就看这里
移步更多21ic独家微课:
主题帖子积分
实习生, 积分 9, 距离下一级还需 41 积分
实习生, 积分 9, 距离下一级还需 41 积分
主题帖子积分
专家等级:结帖率:0%
主题帖子积分
实习生, 积分 9, 距离下一级还需 41 积分
实习生, 积分 9, 距离下一级还需 41 积分
你好,我看见你以前发的帖子关于lwip发送丢包问题,我也遇到了,请问你是怎么解决的,请您赐教,小弟感激不尽,
21ic公开课,21ic网友共同的学习圈子!学单片机、嵌入式、模拟、电源……就看这里
移步更多21ic独家微课:
主题帖子积分
实习生, 积分 9, 距离下一级还需 41 积分
实习生, 积分 9, 距离下一级还需 41 积分
主题帖子积分
专家等级:结帖率:0%
主题帖子积分
实习生, 积分 9, 距离下一级还需 41 积分
实习生, 积分 9, 距离下一级还需 41 积分
21ic公开课,21ic网友共同的学习圈子!学单片机、嵌入式、模拟、电源……就看这里
移步更多21ic独家微课:
主题帖子积分
资深技术员, 积分 458, 距离下一级还需 42 积分
资深技术员, 积分 458, 距离下一级还需 42 积分
主题帖子积分
专家等级:结帖率:100%
主题帖子积分
资深技术员, 积分 458, 距离下一级还需 42 积分
资深技术员, 积分 458, 距离下一级还需 42 积分
清幽99 发表于
你好,我看见你以前发的帖子关于lwip发送丢包问题,我也遇到了,请问你是怎么解决的,请您赐教,小弟感激不 ...
丢包你也得分情况,有可能是自己组包的时候,数据就已经丢了。
还有就是你得判断tcp_write的返回值,有可能内存满了。
其他的情况我还没遇到
21ic公开课,21ic网友共同的学习圈子!学单片机、嵌入式、模拟、电源……就看这里
移步更多21ic独家微课:
主题帖子积分
实习生, 积分 6, 距离下一级还需 44 积分
实习生, 积分 6, 距离下一级还需 44 积分
主题帖子积分
专家等级:结帖率:0%
主题帖子积分
实习生, 积分 6, 距离下一级还需 44 积分
实习生, 积分 6, 距离下一级还需 44 积分
你好,我的情况是 发送时候没有丢失的现象,只是在这之后再次发送数据,会将前次要发送的数据顶出来,就是比如发8M数据,收到的就没有8M,少一包或者两包,但是在此发的时候,之前的一/两包数据就会被顶出来,实在不知道怎么办啊 ?
而且发送速度很慢?
21ic公开课,21ic网友共同的学习圈子!学单片机、嵌入式、模拟、电源……就看这里
移步更多21ic独家微课:
主题帖子积分
实习生, 积分 6, 距离下一级还需 44 积分
实习生, 积分 6, 距离下一级还需 44 积分
主题帖子积分
专家等级:结帖率:0%
主题帖子积分
实习生, 积分 6, 距离下一级还需 44 积分
实习生, 积分 6, 距离下一级还需 44 积分
请多多指教啊!
21ic公开课,21ic网友共同的学习圈子!学单片机、嵌入式、模拟、电源……就看这里
移步更多21ic独家微课:
主题帖子积分
资深技术员, 积分 327, 距离下一级还需 173 积分
资深技术员, 积分 327, 距离下一级还需 173 积分
主题帖子积分
专家等级:结帖率:33%
主题帖子积分
资深技术员, 积分 327, 距离下一级还需 173 积分
资深技术员, 积分 327, 距离下一级还需 173 积分
我是接受数据时丢包
STM8/STM32全系列
涓涓之细流
发帖类勋章
时间类勋章
技术高手奖章
人才类勋章
时间类勋章
技术新星奖章
人才类勋章
时间类勋章
热门推荐 /3STM32F207+LWIP的网络丢包问题!
【悬赏问答】 - STM32 - 意法半导体STM32/STM8技术社区
后使用快捷导航没有帐号?
查看: 5790|回复: 7
STM32F207+LWIP的网络丢包问题!
【悬赏问答】
在线时间0 小时
主题帖子好友
新手上路, 积分 68, 距离下一级还需 -18 积分
新手上路, 积分 68, 距离下一级还需 -18 积分
大家好,我这边在测试207的网络性能的时候,发现有丢包的现象,具体是这样的:
我将207做为服务器,通过PC网络调试工具发数据给207,207将收到的数据返回PC调试工具!其中包是按512个字节,发送时间是按1MS循环发送,并且按TCP包来发送!现在的问题是这样,207跑一段时间,从PC网络调试工具上边的TX,以及RX的发送总字节数会有不一样,RX会少一点!我采用的是LWIP的协议栈,不知道大伙有没有好的建议,或者是我的测试方法不对!我的理解TCP包应该吧会丢的才对,UDP包才会丢!
在线时间0 小时
主题帖子好友
新手上路, 积分 68, 距离下一级还需 -18 积分
新手上路, 积分 68, 距离下一级还需 -18 积分
RE:STM32F207+LWIP的网络丢包问题!!!!!
没有大虾来解释下啊!!!!!!
在线时间0 小时
主题帖子好友
新手上路, 积分 17, 距离下一级还需 33 积分
新手上路, 积分 17, 距离下一级还需 33 积分
回复:STM32F207+LWIP的网络丢包问题!!!!!
在线时间0 小时
主题帖子好友
新手上路, 积分 68, 距离下一级还需 -18 积分
新手上路, 积分 68, 距离下一级还需 -18 积分
RE:STM32F207+LWIP的网络丢包问题!!!!!
ST的FAE都不在吗???我用官方的LWIP包,在官方的板子上测试TCP包接收发送,通信10分钟不到,系统就挂了,给解释啊@@@@@
在线时间12 小时
主题帖子好友
金牌会员, 积分 1821, 距离下一级还需 3179 积分
金牌会员, 积分 1821, 距离下一级还需 3179 积分
RE:STM32F207+LWIP的网络丢包问题!
【悬赏问答】
楼主理解有误吧,TCP协议也有丢包的可能,只是它有机制重发,确保信息完整。会不会发送额外的数据?
在线时间4 小时
主题帖子好友
RE:STM32F207+LWIP的网络丢包问题!
【悬赏问答】
这个和你测试的网络环境等等都有关系的。根据你1ms的速度,这个是可能丢包的。TCP协议也可能丢包的哦。
在线时间13 小时
主题帖子好友
中级会员, 积分 217, 距离下一级还需 283 积分
中级会员, 积分 217, 距离下一级还需 283 积分
RE:STM32F207+LWIP的网络丢包问题!
【悬赏问答】
只要 是传输数据 都是有可能丢包的&&要不 就不用加那么多协议来处理数据包了&&丢了就重发就是了&&你试着把通信时间加大点&&情况就会好一点了。
在线时间39 小时
主题帖子好友
中级会员, 积分 396, 距离下一级还需 104 积分
中级会员, 积分 396, 距离下一级还需 104 积分
正在烦恼这个问题
站长推荐 /2
- STM32F7探索板免费送
- FAE首度现身直播间,全程交流
STM32以太网进阶培训(7月19日),可别错过哟!
Tel: 3-8064
备案号: 苏ICP备号-2
|||意法半导体STM32/STM8技术社区
Powered bylwip怎么确认请求的TCP连接已经建立 - WinCE当前位置:& &&&lwip怎么确认请求的TCP连接已经建立lwip怎么确认请求的TCP连接已经建立&&网友分享于:&&浏览:241次lwip如何确认请求的TCP连接已经建立lwip如何确认请求的TCP连接已经建立,网上有人说当tcp_connect的第四个参数定义的回调函数被调用的时候说明连接已经建立成功了;是这样么?我用板子往本机发送tcp连接请求为什么每次都能成功连接呢?本机没有运行任何服务器软件,即没有任何软件监听我数据将要发送的端口,为什么还能连接?难道windows默认接受任何tcp连接?------解决方案--------------------
发心跳包给服务器,让服务器回应只有这样的握手机制是就可靠的
------解决方案--------------------
探讨发什么内容的包啊
12345678910
12345678910
12345678910 上一篇:下一篇:文章评论相关解决方案 12345678910 Copyright & &&版权所有关于lwip 协议栈发送数据包的一个疑问。的搜索推荐 -嵌入式开发-TryCatch
>> 相关推荐
关于的搜索推荐
lwip协议栈发送数据包时,会把一个包分解成若干个buffer,然后用这些buffer组成一个列表。但是不清楚它分解的原则是什么?是按照什么来分解这个包的??着急呀,各位高手解答一下。
这个东西你下他的协议来看不就有了.呵呵.
引用1楼fpcc的回复:
这个东西你下他的协议来看不就有了.呵呵.
协议栈那玩意看起来困难,找不到北,但貌似固定大小的。
协议buffer是有固定大小,这个因系统不同而不同,在lwip里面pbuf_alloc,就是用来分配空间的,如果你的数据很大,它就会分成如干成分MEMP_PBUF_POOL,这个就是具体的大小!代码如下: structpbuf* pbuf_alloc(pbuf_layerlayer,u16_tlength,pbuf_typetype) { structpbuf*p,*q,*r; u16_ s32_trem_/*remaininglength*/ LWIP_DEBUGF(PBUF_DEBUG|LWIP_DBG_TRACE,("pbuf_alloc(length=%"U16_F")\n",length));
/*determineheaderoffset*/ offset=0; switch(layer){ casePBUF_TRANSPORT: /*addroomfortransport(oftenTCP)layerheader*/ offset+=PBUF_TRANSPORT_HLEN; /*FALLTHROUGH*/ casePBUF_IP: /*addroomforIPlayerheader*/ offset+=PBUF_IP_HLEN...
lwip协议,tcp_write函数发送数据时,上位机采用网络调试助手接收数据,但是接收到一定量的数据后,就断开了,收到的只是很少的一部分。数据量比较大,确定不是下...
本帖最后由 LICHUNLI1022 于
17:28:14 编辑
------------
每次发数据少一些 看看时间会不会延长
------------
用的什么网络通信芯片
----------...
这个是通信协议a)起始字头(2字节,AAH,75H);b)命令字(1字节);c)数据块长度(2字节);d)保留(备用)字(1字节);e)数据块(若干字节);f)校验字节(1字...
想在周立功的8962上实现基于LWIP 的客户端,电脑是server , 电脑与板子通过网线连接,连接部分的代码如下:void TCP_Client_Init(void){
struct tcp_p...
大家好:   小弟最近在搞LWIP在UCOS上的移植,结果发现用字节/s的速度去发送数据包时,LWIP经常会申请不到内存,而导致丢包,这个比较郁闷,不知道哪...
用 xmlhttp
发送 就正常用winsock tcp 协议发送就不正常能解决的 加本人qq: 需要发送的数据 联系本人索要
我怎么演示给别人看我已经实现了开发板跟主机间通信??可不可以不用在pc机再写一个收发函数啊。
------------
在PC上开一个web server,开发版上去连接主机的...
文件名应该包含在协议的哪个部分,请高手指教呀...
------------
自己顶一顶,请各位帮忙啊...
------------
------------
请高手帮忙呀...
指点一下 思路
或者 给点程序 例子 之类
这几天 看 lwip
还有 lwip 怎么 加到
工程中 需要做哪些 改动
------------
用表单&form....不过服务器要支持脚本运行。
------------
我是说不用脚本服务器可以吗?就是说htm里面写一些在客户端运行的东西...
------------
使用XMLHTTP...
ProcessIO线程是处理服务器端与客户端的接收与发送数据;我现在又创建了一个线程:ThreadAutoSendData,该线程是定时给客户端发送数据"12345";程序运行中发现,...
我最近用C#写了一个socket通讯服务端,其他都没什么问题,但是现需要发送时间包以便客户端对时,现在想组ntp时间包发过去,请问ntp时间包格式是怎么样的?非C#代...
#include&reg52.h&void main(){TMOD = 0x20;
SCON = 0x50;
TH1 = 0xFD;
TL1 = TH1;
PCON = 0x00;
TR1 = 1;}void se...
比如,结构体如下:struct PERSON
//员工信息{
char cName[20]; //员工姓名
char cSex[10];
char * pPicB //图片}
------------
没什么特...问一个,以太网多播包接受的问题。 在LwIP中我怎么设定,才能接受一个多播包?
我预想的目标是:主机以广播地址224.0.1.129发送出去数据,板子接到数据再以
广播地址224.0.1.129发送回来。
我的板子,能触发中断,但是,进不了UDP_Receive回调函数,不能回发数据,不知道问题在那,盼高手指教。
注:如果我以板子的IP:192.168.9.8,发送数据,就能正常接收!我主机IP为:192.168.9.20
我的UDP连接初始化如下,
void UDP_Test_Init(void)
&&struct udp_pcb *UdpP
&&UdpPcb = udp_new();
&&udp_bind(UdpPcb,IP_ADDR_ANY,319);& &/* 绑定本地IP地址 */
&&udp_connect(UdpPcb, IP_ADDR_ANY,319);
&&udp_recv(UdpPcb,UDP_Receive,NULL);& &/* 设置数据接收时的回调函数*/
UDP_Receive回调函数:
void UDP_Receive(void *arg, struct udp_pcb *upcb, struct pbuf *p,
& && && && && &&&struct ip_addr *addr, u16_t port)
&&struct ip_addr destAddr = *
&&if(p != NULL)& && && && && && && && &&&/* 如果收到的数据不为空& &*/& && && && &
& & & & udp_sendto(upcb,p,&destAddr,port);& && && && && && &&&/* 将收到的数据再发送出去 */& && && && &
& & pbuf_free(p);& && && && && && && &&&/* 释放缓冲区数据 */
在线时间288 小时
TA的帖子TA的资源
一粒金砂(高级), 积分 341, 距离下一级还需 159 积分
一粒金砂(高级), 积分 341, 距离下一级还需 159 积分
这个没玩过,帮你顶一下吧
*我的EMAIL:& &&&&&
*我的博客/sunke9/
*我网店:/
承接:电子、自动控制产品设计开发;单片机、ARM编程。
在线时间463 小时
芯币2381枚
TA的帖子TA的资源
纯净的硅(中级), 积分 974, 距离下一级还需 226 积分
纯净的硅(中级), 积分 974, 距离下一级还需 226 积分
表面上看没有什么问题,问题有可能出现在void UDP_Receive(void *arg, struct udp_pcb *upcb, struct pbuf *p,struct ip_addr *addr, u16_t port)
里边的struct udp_pcb *upcb.应该是struct udp_pcb *pcb。会不会是这个原因呢?你试一下,在这里一定要细心啊。找到问题后说一下。
在线时间29 小时
TA的帖子TA的资源
一粒金砂(初级), 积分 0, 距离下一级还需 5 积分
一粒金砂(初级), 积分 0, 距离下一级还需 5 积分
回楼上! 貌似不是这个问题,组播发送还蛮麻烦的
在线时间463 小时
芯币2381枚
TA的帖子TA的资源
纯净的硅(中级), 积分 974, 距离下一级还需 226 积分
纯净的硅(中级), 积分 974, 距离下一级还需 226 积分
我遇到过,当主机端组播端口发送数据后板子上的组播端口并不回调接收函数来处理,但如果主机端采用另一个端口,是可以回调的,具体原因,我现在也还不明白。
在线时间463 小时
芯币2381枚
TA的帖子TA的资源
纯净的硅(中级), 积分 974, 距离下一级还需 226 积分
纯净的硅(中级), 积分 974, 距离下一级还需 226 积分
楼主是不是没有使能多播接收呢?&&
ulTemp = EthernetConfigGet(ETH_BASE);
&&ulTemp |= ETH_CFG_RX_AMULEN;
EthernetConfigSet(ETH_BASE, ulTemp);
在线时间138 小时
TA的帖子TA的资源
一粒金砂(中级), 积分 47, 距离下一级还需 153 积分
一粒金砂(中级), 积分 47, 距离下一级还需 153 积分
问题可能出在,&destAddr& 应该使用组播地址
EEWORLD 官方微信
Powered by

我要回帖

更多关于 异形5契约百度云资源 的文章

 

随机推荐