日期:2014-05-17  浏览次数:20934 次

关于使用Socket的问题
使用Socket通过udp方式 向一台服务器发送数据的时候,怎么知道服务器有没收到数据(或有没有和服务器连接上,因为有可能服务器没开)

------解决方案--------------------
做个心跳包,每隔一段时间发送一个字符,如果成功表示服务器打开。UDP本来就不关心是否发送成功的。
------解决方案--------------------
udp不保证可靠。在互联网上,有50%消息都石沉大海了,这也是常识,而且发送方不可能知道。

如果要使用udp进行比较可靠地通讯,你必须自己做一整套仿照tcp的控制机制,例如确认、重发、超时,等等。
------解决方案--------------------
嘿嘿,谁让你是udp呢,我感觉除了视音频这种流可以udp,其他基本都走tcp
------解决方案--------------------
服务器收到数据包,向客户端发送确认信息。局域网或专线不宜丢包,广域网用udp进行可靠数据传输,自己要做的工作太多,不靠谱。