在Perl中是否有一种机制在两个独立的进程之间共享一个套接字 - 在Linux中没有分叉或线程化?在Perl中的进程之间共享套接字(无叉)?
我会假设没有,但这个答案让我相信这是可能的:https://stackoverflow.com/a/1139425/1170839
我想在一个过程中创建一个监听套接字,并允许另一个进程接受/就可以读/写。
在Perl中是否有一种机制在两个独立的进程之间共享一个套接字 - 在Linux中没有分叉或线程化?在Perl中的进程之间共享套接字(无叉)?
我会假设没有,但这个答案让我相信这是可能的:https://stackoverflow.com/a/1139425/1170839
我想在一个过程中创建一个监听套接字,并允许另一个进程接受/就可以读/写。
在许多UNIXy系统,链接您发布指示,文件描述符可以在本地域套接字进行传递。例如,特权进程可以打开/准备一个fd,然后将其发送给非特权进程以供使用。
Socket::MsgHdr为perl公开此功能,并且包括文件描述符传递的示例。
要走的路是使用POE。 POE使得perl中的多线程可以很容易地进行,并且正是为此而设计的。 POE是事件驱动的多线程应用程序的CPAN框架。顺带一提,Perl中最简单也是最好的方法是POE。没有任何理由可以在之前完成并经过充分测试的时候重新进行这项工作。
参见:
http://poe.perl.org/?Evolution_of_a_POE_Server和 http://poe.perl.org/?POE_Cookbook/TCP_Servers
误导 - POE不是“多线程”。另外,没有密切关系 - OP特别在*独立进程*之间寻找套接字共享。 – pilcrow