网络编程(十)——udp基本编程

1.缓冲区

udp并没有实际的缓冲区,所以只要设置的udp缓冲区大小大于发送缓冲区低水位就一直可写,udp调用write成功返回表示所写的数据报已被加入链路层的输出队列。如果该队列没有足够空间,内核通常返回ENOBUFS错误,或根本不返回错误。当udp写入一个大于发送缓冲区大小的数据时,会返回EMSGSIZE错误
udp没有实际的发送缓冲区,但是有接收缓冲区
udp没有流量控制,当发送端发送数据快于接收端时,当接收端接收缓冲区满后,后面再发送的数据都会被丢弃
如果主机是多宿的(多网卡),那么udp客户端的临时端口在第一次调用sendto时被内核选定,并不能改变,而客户的ip地址却可以改变,比如一条报文从ip1的网卡发送,另一条报文从ip2的网卡发送

2.发送

在这里插入图片描述

3.connect

在这里插入图片描述
在这里插入图片描述

4.性能

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/chengcheng1024/article/details/115308498