socket 的手册页包含以下内容: SOCK_STREAM 提供有序的、可靠的、双向的、基于连接的字节流。可以支持带外数据传输机制。
这是什么意思“可以支持带外数据传输机制。”...?
带外 (OOB) 意味着“您进行的通信不是您正在通信的实际数据”。
例如,如果您正在与一个端点进行“对话”——它向你发送请求,你向它发送数据——并且它想告诉你在一堆数据中途放慢速度,它需要一个“输出”乐队”传输机制说“哇,停一下”。
http://en.wikipedia.org/wiki/Out-of-band_data
它的工作方式是接收到的每条信息都可以标记为 OOB - 如果是这种情况,接收器会查看它以查看控制消息是什么,而不是将其作为数据传输的一部分传递。
“可以支持”的意思是套接字可以通过一系列协议传输,这由domain
套接字的 . 为了让SOCK_STREAM(特别是send(2)
)支持OOB传输,底层协议也必须支持。
如果您尝试发送 OOB 消息但它不受支持,则会收到EOPNOTSUPP
来自send(2)
.