微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

用一个函数调用写入多个文件描述符

我有一个用于组聊天服务器的用例,服务器必须为所有客户端的套接字写一个公共string。 然后,我通过循环遍历文件描述符列表并将string写入每个文件描述符来解决这个问题。

现在我正在考虑find更好的解决scheme。 是否有可能通过在Linux中使用三通系统调用从服务器的单个函数调用来做到这一点。 我想要一个发球台的输出到另一个发球台以及一个客户端套接字。 我想知道,如果我可以重复三通的一端的文件描述符到客户端套接字,并获得所需的效果

请为您知道的用例提出其他任何实现build议。

谢谢

有没有一种方法来testingfd_set是否为“非零”?

Nginx文件描述符限制

把阻塞(没有O_NONBLOCK)文件parsing器在Linux中select/轮询是否合适?

lsof列出的FD列是什么意思?

为什么select在Linux中使用

指定文件描述符号码?

有人可以给我一个例子,说明如何select()提醒fd变成“ready”

Linux套接字的文件描述符总是按照升序排列

为什么在fork之后closures文件描述符会影响subprocess?

进程在Linux中终止时文件描述符是否closures?

tee(2)系统调用要求两个文件描述符都是管道 – 所以套接字不计数。 splice(2)和vmsplice(2)系统调用也似乎不符合您的要求,我也不知道如何利用sendfile(2) 。

我还没有遇到过这样的系统调用。 要求收集不同的数据并一次写完(或者阅读相反) – 是的。 但是一次写入多个输出 – 不。

所以,你目前的“描述符循环”大致上就是这样,AFAICT。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐