VB6.0的winsock控件用UDP局域网广播数据,当数据很大时接收方报10040--数据包太大,请问怎么处理。
2个回答
展开全部
虽然很久没用这控件了,不过原理还是懂的,给你点思路吧
解决你的问题,大概有几个方法:
一.控制发送速度,简单但是效率有点低
二.技术方加大数据缓冲,优先接收,读了就放内存里,接收完或是空闲时再处理,这在处理过程复杂时比较有效
三.出错的数据丢掉----没错,就是不要了!
既然你选择了UDP,就无法避免丢包的事情发生,肯定要有相关的容错处理.网络可以"自动"丢包,我们写的程序为什么不能"人为"丢包呢?
其实,多数情况下,要根据所处理数据的特点 当前网络特点 机器现状来制定策略,综合上述办法,甚至创造更新的办法
以上,希望对你有帮助,还有问题欢迎探讨
解决你的问题,大概有几个方法:
一.控制发送速度,简单但是效率有点低
二.技术方加大数据缓冲,优先接收,读了就放内存里,接收完或是空闲时再处理,这在处理过程复杂时比较有效
三.出错的数据丢掉----没错,就是不要了!
既然你选择了UDP,就无法避免丢包的事情发生,肯定要有相关的容错处理.网络可以"自动"丢包,我们写的程序为什么不能"人为"丢包呢?
其实,多数情况下,要根据所处理数据的特点 当前网络特点 机器现状来制定策略,综合上述办法,甚至创造更新的办法
以上,希望对你有帮助,还有问题欢迎探讨
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询