如何在Perl中进行套接字编程?它有什么模块吗?
我正在尝试在Perl中进行套接字编程。我想知道是否有任何模块可以做到这一点。
还有一个问题:是否有可能让多个服务器监听一个端口,或者多个客户端通过套接字编程监听一个端口?
答案 0 :(得分:5)
关于使用相同套接字的多个程序,请参阅IO :: Socket :: INET上的选项ReusePort。 这允许其他程序稍后也在该端口上侦听。有关重用的更多信息, 搜索“SO_REUSEPORT”,这是C库选项名称。
请参阅此处的讨论,了解有关使用该技术进行缩放的更多信息(如果这是您的意图):http://kerneltrap.org/mailarchive/linux-netdev/2008/8/7/2851754
答案 1 :(得分:4)
是否有可能让多个服务器监听一个端口,或多个客户端通过套接字编程监听一个端口?
这与Perl无关:在任何给定的时间点,只有一个应用程序可以在给定端口上进行侦听。
此外,除非您正在实现自定义协议,否则没有充分的理由在Perl中处理套接字。所有常用协议都有出色的模块。
答案 2 :(得分:2)
答案 3 :(得分:1)
perlipc doc对使用带有一些好示例代码的套接字进行了温和的介绍。
答案 4 :(得分:0)
我总是将人们指向IO::Lambda。这是处理任何类型的套接字和文件描述符的一种非常优雅的方式。