实现很简单,(1) send 告诉 server 要向 receiver 发送文件, (2) server 通知 receiver 给 sender 固定端口发一个 udp 包 , (3)sender 收到后开始给receiver发包.
100M 的文件一般传到 99% 即补发包的时候udp不通了. 情况是: (1) send 不断收到 receiver 的udp 包,告知的丢失包的index (为了防止掉包,接收方未收到丢失包之前,是不断向send 发包的) (2)send 发送丢失包
但receiver 就是收不到,用抓包工具查看,发觉receiver 一个包也没收到,而 send 已经发包了 . 而后,继续用以上流程传文件,udp不通 .机器上装的是卡巴斯基带的防火墙,如果将其关闭,则传输文件没有问题.照理说,send 能够顺利收到receiver的包,那么没有理由发出去的包会被防火墙拦截啊??? 百思不得其解,望高手帮忙 ......
ps. 双方udp 发送接收 用的是固定端口,大概1s左右,双方会有udp心跳包互通