发送UDP应答包的思考
2013-11-19 19:26
190 查看
UDP发送应答包机制 需要考虑重发(重发次数,重发间隔,每次重发发几个UDP包),超时,取消发送。
对同一个用户状态的改变,前一个包对后一个包的影响,比如后发的先到,所以需要服务器做一个序号记录,发过来的小于当前序号就不处理,本地也维护一个状态和最后发送的序号,不停的取消上一次的重发,不是最后发送的接收序号的就不处理,当服务器的最后一个包的应答客户端都接收失败时,原始状态就和服务器对应不上了(可能服务器发包了,我没收到,也可能我没发送成功),该怎么处理(暂定为客户端做兼容处理,根据客户端状态进行逻辑处理,比如这个状态是数据的收发,客户端只接收不做处理 ,同时重发次数尽量大点(或者一直发直到成功),提高服务器和本地状态的同步概率。本文出自 “Randy” 博客,请务必保留此出处http://ouyaliang.blog.51cto.com/3501725/1328742
对同一个用户状态的改变,前一个包对后一个包的影响,比如后发的先到,所以需要服务器做一个序号记录,发过来的小于当前序号就不处理,本地也维护一个状态和最后发送的序号,不停的取消上一次的重发,不是最后发送的接收序号的就不处理,当服务器的最后一个包的应答客户端都接收失败时,原始状态就和服务器对应不上了(可能服务器发包了,我没收到,也可能我没发送成功),该怎么处理(暂定为客户端做兼容处理,根据客户端状态进行逻辑处理,比如这个状态是数据的收发,客户端只接收不做处理 ,同时重发次数尽量大点(或者一直发直到成功),提高服务器和本地状态的同步概率。本文出自 “Randy” 博客,请务必保留此出处http://ouyaliang.blog.51cto.com/3501725/1328742
相关文章推荐
- UDP的代码实例 接收和发送
- UDP指定客户端发送端口
- socket 发送 TCP和UDP方式
- C# udp socket.sendto() 在win2008下无法发送。
- Udp消息发送接收示例
- SOCKET_UDP包的发送及接收
- 网络编程—UDP协议传输接受与发送数据
- java发送udp广播包
- FFmpeg发送流媒体的命令(UDP,RTP,RTMP)
- java udp socket通信(仅发送)
- 基于UDP协议的网络编程(使用DatagramSocket发送接收数据)
- udp 局域网广播发送代码
- VM虚拟机虚拟网卡对于UDP发送广播包的影响
- UDP java接受数据与发送数据
- qt 下UDP消息的接收和发送和TCP发送文件
- Android UDP广播 客户端循环发送与接收
- Java网络编程 UDP发送与接收数据
- iOS 怎样通过UDP发送广播寻找设备,拿到局域网的设备ip 和 端口
- QUdpSocket实现聊天功能(时间过滤器、回车发送聊天内容)
- 使用UDP协议编写一个网络程序,设置接收端程序的监听端口是8001,发送端发送的数据是“Hello, world”