如何增强UDP传输的可靠性,通过怎样一种方式
我知道的有一种,就是客户端用UDP发出包之后,服务端返回一个包,确认收到,
如果在一定时间内客户端没有收到返回的包,就提示发送失败
问题是:
1、如果服务端没有返回包或者返回包在传输的过程中丢失了,客户端在多久以后进行检查比较合适
2、如果客户端连续地发送数据,数据之间没有任何联系,是否需要把发出的包进行保存以便检查?
如果是这样,用什么样的方式保存?用哈希表可以做到?
简单,用TCP。
如果每发一个包服务器都要确认一下,那还不如用tcp了。
可以给每个数据包进行编号,利用数据包前2字节存放编号,如果服务器接收到不连续包,就向客户机请求丢失的包。
如果是这样,干嘛不用tcp??
每个包应该有编号的吧,要不然会出现重复传递的.
tcp没必要一直连接,需要的时候连接一下就行了。
建议TCP