单工、半双工、双工

单工:a 和 b 说话,b 只能听 a 说,参考 广播

半双工:参考 对讲机 ,A:能不能听到我说话,over

B:可以可以,over

全双工:参考打 电话 ,A:哎,老王啊!@#!#¥#@!#

B:@#¥@¥@¥#@

Socket 缓冲区

  • socket 缓冲区在每个套接字中单独存在;
  • socket 缓冲区在创建套接字时自动生成;
  • 即使关闭套接字也会继续传送发送缓冲区中遗留的数据;
  • 关闭套接字将丢失接收缓冲区中的数据。

UDP 的 Socket 缓冲区

UDP 套接口有发送缓冲区大小(SO_SNDBUF 修改),
不过它仅仅是写到套接口的 UDP 数据报的大小上限,即 UDP 没有发送缓冲区。
如果一个应用程序写一个大于套接口发送缓冲区大小的数据报,内核将返回 EMSGSIZE 错误。