我有一个用于组聊天服务器的用例,服务器必须为所有客户端的套接字写一个公共string。 然后,我通过循环遍历文件描述符列表并将string写入每个文件描述符来解决这个问题。
现在我正在考虑find更好的解决scheme。 是否有可能通过在Linux中使用三通系统调用从服务器的单个函数调用来做到这一点。 我想要一个发球台的输出到另一个发球台以及一个客户端套接字。 我想知道,如果我可以重复三通的一端的文件描述符到客户端套接字,并获得所需的效果。
请为您知道的用例提出其他任何实现build议。
谢谢
有没有一种方法来testingfd_set是否为“非零”?
把阻塞(没有O_NONBLOCK)文件parsing器在Linux中select/轮询是否合适?
lsof列出的FD列是什么意思?
为什么select在Linux中使用
指定文件描述符号码?
有人可以给我一个例子,说明如何select()提醒fd变成“ready”
为什么在fork之后closures文件描述符会影响subprocess?
进程在Linux中终止时文件描述符是否closures?
tee(2)系统调用要求两个文件描述符都是管道 – 所以套接字不计数。 splice(2)和vmsplice(2)系统调用也似乎不符合您的要求,我也不知道如何利用sendfile(2) 。
我还没有遇到过这样的系统调用。 要求收集不同的数据并一次写完(或者阅读相反) – 是的。 但是一次写入多个输出 – 不。
所以,你目前的“描述符循环”大致上就是这样,AFAICT。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。