udp 编码的connect 函数 ——unix 网络编程 第8章

 

UDP  有两种

 一种是面向无连接的(即不使用connect函数)

  一种是类似TCP的面向连接的(即使用connect函数)

区别:

1>使用的I/O函数是:

前者:sendto  recvfrom

后者: (send , write)  (read,recv)。

2>

前者 未连接的套接字可与多者

后者 已连接的套接字 只可与一个IP地址交换数据。

3> 后者传输消耗小于对方

    同样发送多个数据包: sendto  连接--->发送第一个数据包-->断开 --->连接--->发送第二个数据包-->断开

                                              send   连接-->发送第一个数据包--->发送第二个数据包----->断开

                                              所以如果向同一个IP地址连续发送多个数据包 有连接的套接字有更少的传输消耗。

注意1:

针对一个套接字可多次调用connect 函数:

如果对一个处于连接状态的UDP套接字再次调用connect () 会断开当前的UDP连接。

UDP通信特性:

UDP发送方 比UDP接收方运行速度快 是造成包丢失的一个重要原因。

 

你可能感兴趣的:(编程,unix,网络,tcp)