组播数据接收问题

blackeye527 2002-07-16 09:45:02
我用Select模型接收网络组播数据。网络数据发送比较慢时,一切正常;但是组播数据发送比较块时,接收端接收几个数据包后就在再也收不到数据了。不知有谁遇到过该问题,可否指点一二,不胜感激!!!!!!!!!!!!!(接收端是Win2000,发送端是VxWorks)
...全文
267 13 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
blackeye527 2002-07-18
  • 打赏
  • 举报
回复
我再试试
blackeye527 2002-07-17
  • 打赏
  • 举报
回复
谢谢,我手头一直有这本书
gdxflm 2002-07-17
  • 打赏
  • 举报
回复
1 setsockopt将接收缓冲增加
2 将select采样时间缩短
3 数据处理和接收采用多线程,或多队列,也可以考虑多端口收发
4 server和client要有一定的适配速率,也就是说,控制发送方的速率

udp和tcp不同,没有流量控制功能,说得通俗一点,发送方式可以不管接收方的死活的,因此你必须自己设计和考虑这些问题。
如果这些都不能满足你的要求,那你就得从自己的系统设计考虑了,你的设计是否能够满足应用要求。
countryroad 2002-07-17
  • 打赏
  • 举报
回复
推荐看windows网络编程这本书。
unkill 2002-07-17
  • 打赏
  • 举报
回复
如果接收端阻塞住的话,很快接收缓存就应该满了,发送端应该就会出错。
另外你试试看把接收端的接收缓存开的大一些。
blackeye527 2002-07-17
  • 打赏
  • 举报
回复
发送端正常
Silva_Zhao 2002-07-17
  • 打赏
  • 举报
回复
和我的问题一样,我是要实时发送视频数据,结果只能收到一点点东西,然后就什么也收不到了,除非让数据很慢地发送。但实时性就不提啦。难道组播不能用于发送实时数据吗?
unkill 2002-07-17
  • 打赏
  • 举报
回复
试试从发送端看看,当接收端阻塞后,发送端的发送数据是否还正常。
blackeye527 2002-07-16
  • 打赏
  • 举报
回复
不过,我的数据量就是比较大啊。用于传输实时图像数据。要是,期间丢几个包倒是没问题,不过现在的情况是一开始收几个包后就再也收不到数据了,接收程序一点反应也没有。假如跟踪程序的话会发现Select()一直被堵死了。不知有谁曾经遇到过此类问题。
xuying 2002-07-16
  • 打赏
  • 举报
回复
应该是报文太多,socket处理不了了。控制一下发送速度。
blackeye527 2002-07-16
  • 打赏
  • 举报
回复
有没有更好的解决方法,欢迎大家继续讨论
blackeye527 2002-07-16
  • 打赏
  • 举报
回复
设置超时........好像不太能符合我这个项目的实际需求
countryroad 2002-07-16
  • 打赏
  • 举报
回复
select可以设置超时的阿。
一旦有数据到达或者超时都会重新select.

4,387

社区成员

发帖
与我相关
我的任务
社区描述
通信技术相关讨论
社区管理员
  • 网络通信
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧