gpt4 book ai didi

performance - 用信号实现TCP/IP套接字客户端服务器是个好主意吗?

转载 作者:行者123 更新时间:2023-12-03 12:01:28 25 4
gpt4 key购买 nike

澄清一下,我想知道使用TCP/IP套接字和响应于客户机套接字上的“可以读取/可以写入”信号条件而调用的信号处理程序编写“将多个同时客户机到单个服务器”的利弊是什么?文件描述符?据我了解,至少Linux内核使用信号来通知进程与套接字描述符有关的条件?显然,在信号处理程序中必须要小心,据我所知,信号处理程序还会中断该过程-重入,原子性,变量的未定义状态等。

但是不必让信号完成大多数工作,实际上恰恰相反-将套接字添加到准备读,写的一组套接字中,就像selectpollepoll_wait一样,并让默认过程代码流与这些套装?实际上,人们模仿的模式与上述功能大致相同,但从根本上讲,它是否可行,以及它是否值得呢?

最佳答案

已经有两种这样的方法。一种是使用SIGIO信号,检查man 7 socket并查找名为“Signals”的部分以获取更多信息。

另一种方法由POSIX标准化,称为异步I/O。要使用的功能均带有aio_(例如aio_read)作为前缀。有关如何使用它或检查this的示例,请参见manual page链接。

关于performance - 用信号实现TCP/IP套接字客户端服务器是个好主意吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8051432/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com