UDP协议的不可靠性
2016-09-21 21:37
204 查看
UDP协议的不可靠问题主要体现在哪些方面?
⑴当客户发送请求报文后,等待服务器的应答,客户进程收到一个应答后,就将其存放到该套接字的接收缓冲区中,此时,如果刚好有其他进程给该客户的这个端口地址发送了一个数据报,则客户的套接字会误以为是服务器的应答,也会将其存放到这个接收缓冲区中。这样在客户的接收缓冲区中会出现噪声数据。
⑵当客户发送请求报文后,等待服务器的应答,但是由于UDP协议是不可靠的,数据在网络中传输有可能会丢失。
⑶由于通信前没有事先建立联系,客户在发送请求时不知道服务器的状态。
⑷由于通信前双方的处理能力未知且没有流量控制机制,发送端发送数据是并不清楚接收端的接收能力,如果快速设备无限制地向慢速设备发送UDP数据报,可能会由于接收方的接收缓冲区溢出而丢失大量数据,而且这种丢失对于通信双方而言都是不清楚的。
⑴当客户发送请求报文后,等待服务器的应答,客户进程收到一个应答后,就将其存放到该套接字的接收缓冲区中,此时,如果刚好有其他进程给该客户的这个端口地址发送了一个数据报,则客户的套接字会误以为是服务器的应答,也会将其存放到这个接收缓冲区中。这样在客户的接收缓冲区中会出现噪声数据。
⑵当客户发送请求报文后,等待服务器的应答,但是由于UDP协议是不可靠的,数据在网络中传输有可能会丢失。
⑶由于通信前没有事先建立联系,客户在发送请求时不知道服务器的状态。
⑷由于通信前双方的处理能力未知且没有流量控制机制,发送端发送数据是并不清楚接收端的接收能力,如果快速设备无限制地向慢速设备发送UDP数据报,可能会由于接收方的接收缓冲区溢出而丢失大量数据,而且这种丢失对于通信双方而言都是不清楚的。
相关文章推荐
- TCP协议和UDP协议的区别 (有无链接,传输速度,有序无序,可靠性,对资源的占用)
- TCP协议和UDP协议的区别 (有无链接,传输速度,有序无序,可靠性,对资源的占用)
- 在.net中使用Udp协议创建简单的聊天程序
- UDP: 用Socket 实现UDP 协议下的网络通信
- java中网络编程DatagramPacke类------UDP协议
- 通信协议:HTTP、TCP、UDP
- TCP、UDP、IP 协议分析
- 对问题:Http是TCP协议还是UDP协议的回答
- 网络各个协议:UDP、TCP/IP、SOCKET、HTTP
- Linux Socket网络编程 分别使用TCP协议 和 UDP协议
- 用UDP协议实现广播通信
- Java网络编程 - 基于UDP协议 实现简单的聊天室程序
- 通过socket和Udp协议简单实现一个群体聊天工具(控制台)
- 套接字编程 --- UDP协议
- Java练习题26 UDP协议
- 基于UDP协议的socket通信
- 使用UDP协议编写一个网络程序,设置接收端程序的监听端口是8001,发送端发送的数据是“Hello, world”
- 尝试自己的Perl语言的包 UDP协议的再包装起到类似python语言装饰器的效果
- 【代码练习8】UDP协议实现局域网屏幕广播功能
- UDP协议的发送端的基本代码