多套接字监控
我正在设计一个 python 程序,它将通过套接字同时与另外两个进程通信。其中一个进程是一个 C 守护进程,因此该套接字将一直处于活动状态 - 没有问题。另一个进程是一个PHP 网页。所以该套接字并不是一直建立的。大多数时候,套接字在端口上进行侦听(listen())。
如果两个套接字始终处于活动状态,则可以使用简单的 select() 调用来监视来自两个套接字的输入。但在我的情况下,这是不可能的。我怎样才能轻松实现这一目标?
谢谢,
I'm designing a python program that'll talk to two other process at the same time through sockets. One of the process is a C daemon so this socket will be alive all the time - no problem there. The other process is a PHP web page. So that socket isn't established all the time. Most of the time, the socket is listen()ing on a port.
If both socket are alive all the time, a simple select() call can be used to monitor input from both. But in my situation, this is not possible. How can I achieve this easily?
Thanks,
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
在这种情况下,即使在仅具有阻塞套接字的单线程单进程程序中,您也可以使用 select()。以下是如何使用 select() 接受传入连接:
You can use select() in this case, even in a single-threaded single-process program with only blocking sockets. Here's how you would accept incoming connections with select():