请各位大侠帮忙。小弟用UDP协议实现文件传输。
用JAVA代码编写,如何能保证传输的数据包百分之百正确且不丢失。
在局域网内传输文件,基本是不丢包的,但在外网上就会丢失,请各路神仙帮忙!!!十分感谢!!
求JAVA源代码~~~~~~~~~~~~~~~~~~~~~~!
用JAVA代码编写,如何能保证传输的数据包百分之百正确且不丢失。
在局域网内传输文件,基本是不丢包的,但在外网上就会丢失,请各路神仙帮忙!!!十分感谢!!
求JAVA源代码~~~~~~~~~~~~~~~~~~~~~~!
解决方案 »
- StringBuffer
- 可否谈一下Java编译器大致是如何把Java源代码编译成目标代码的?
- java笔试
- 想求输入10个数求平均值,最小值,最大值`!编出的代码。发现不能输入数字
- 关于正折表达式,请大家帮忙看看,多谢了!
- 为什么我在socket接受的数据是乱码
- 关于把java的源代码转换成操作系统可执行的程序
- 100分!!!文件流的问题~???
- 关于applet在ie中显示不出的问题
- tomcat-4.0 for NT 的SSL服务怎样获得安全证书
- 【求助】我用java写一个记事本程序出现的问题
- eclipse 提示“Cannot refer to a non-final variable frame inside an inner class defined in a different method”
如果想不丢,那就用tcp
不是要强烈结贴吗? 快贴代码吧! 等你
最好能给出用JAVA写的UDP停等协议滑动窗口协议的代码. 谢谢!
500分换个UDP的滑动窗口实现穿透NAT很值
我再可以赞助200分以了我去年没实现的残念
如果能用tcp人家早用了,最无聊的莫过于没帮上忙瞎起哄的朋友了。
http://udt.sourceforge.net/
2. 再在上一步的基礎上實現滑動窗口協議。把滑動窗口固定定到 5-8 就OK了。這些代碼都要自己去實現。別總想著有誰會給你。就算是有人給你,也很難說是實現能用的。VC的話,有 UDT 開源庫。
还有,可以使用如下方法减少丢包率
1,尽量使单个的包的大小变小,最好是512字节以后,因为包越小,越不容易丢
2,自己为某一个包编一个序号,然后用强行回复机制,确保每个包都可以收到
以前写过类似的代码,也就是用UDP协议来传文件
我以前写的就是512
而且还有ACK信息
这样才能保证不丢包
但是重传需要好好考虑一下
用线程是肯定的
但是要写好这个线程不容易
UDP传输因为它是无效验机制的,在理论上就是没有办法到100%正确的,只能尽量提高正确率。
我们之所以用UDP,是因为我们的设备硬件上就是无反馈的,所以象TCP这种三次握手都不能完成
最后,提高正确率的方法,我目前用的是重传机制