Skip to content

Socket 通信 ​

服务端监听、接受连接与客户端连接 ​

服务端通常依次创建、绑定、监听并 accept,客户端调用 connect 发起连接。accept 返回独立的已连接 Socket。

监听 Socket 可继续接受连接。每条已建立的连接有自己的读写和关闭状态。

Socket 读写、关闭与阻塞语义 ​

阻塞读在暂无数据时等待,非阻塞读在当前无法推进时返回 EAGAIN 或 EWOULDBLOCK。写入可能只接受部分数据,应用需要继续发送剩余字节。

写入成功通常表示本地内核接收了数据。shutdown 可关闭单一方向,close 释放描述符引用。

UDP Socket 的收发模型 ​

UDP 通常用 sendto 指定目的地址,用 recvfrom 获取报文及来源。也可 connect 设置默认对端,方便使用普通收发接口。

UDP connect 通常不进行握手。每次发送一个数据报,接收端应按数据报处理。

基于 MIT 许可发布