news 2026/3/18 22:11:35

38、网络编程中的带外数据与网络数据库函数详解

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
38、网络编程中的带外数据与网络数据库函数详解

网络编程中的带外数据与网络数据库函数详解

1. 带外数据(Out-of-Band Data)

在某些情况下,我们需要在套接字连接上发送紧急消息。如果这些消息按常规方式发送,那么在其前面的所有数据都被读取完之前,它是不会被读取的。因此,存在一种带外发送的方式,当然,接收方也必须做好接收带外消息的准备。

1.1 发送带外消息

要发送带外消息,可以在调用sendtosendmsgsend时设置MSG_OOB标志。

1.2 接收带外消息
  • 使用select:使用select的接收方可以通过传递给select的第四个参数(所谓的“错误”文件描述符集)来发现带外消息。然后,在调用recvfromrecvmsgrecv时设置MSG_OOB标志来获取消息。
  • 非阻塞检查:也可以在每次即将接收普通数据时,通过在套接字文件描述符上设置O_NONBLOCK标志(通过fcntl)并在接收调用中设置MSG_OOB来检查带外消息。
1.3 带外数据内联
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!