如何在Perl中使用套接字?有模块吗?

时间:2009-11-12 05:01:45

标签: perl sockets

如何在Perl中进行套接字编程?它有什么模块吗?

我正在尝试在Perl中进行套接字编程。我想知道是否有任何模块可以做到这一点。

还有一个问题:是否有可能让多个服务器监听一个端口,或者多个客户端通过套接字编程监听一个端口?

5 个答案:

答案 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。这是处理任何类型的套接字和文件描述符的一种非常优雅的方式。