IO :: Socket :: SSL中的Listen参数控制是什么

时间:2014-08-07 18:39:31

标签: perl ssl websocket

我正在使用IO::Socket::SSL在Perl中创建一个websocket:

my $ssl_server = IO::Socket::SSL->new(
  Listen        => 10,  # What does this parameter do?
  LocalPort     => 5000,
  Proto         => 'tcp',
  SSL_cert_file => '/etc/webserver/ssl/server.crt',
  SSL_key_file  => '/etc/webserver/ssl/server.key',
) or die "failed to listen: $!";

my $server = Net::WebSocket::Server->new(
    listen => $ssl_server,
    ...

我无法弄清楚Listen参数对此的意义或作用: http://search.cpan.org/~sullr/IO-Socket-SSL-1.997/lib/IO/Socket/SSL.pod

可以理解这个参数目的的简单摘要。

2 个答案:

答案 0 :(得分:2)

IO::Socket::SSL中并未真正使用Listen参数。与PeerAddr,PeerPort,Blocking,Timeout,Reuse,Proto,LocalPort等类似,它只会将不以SSL_开头的所有选项转发到底层套接字类(即IO::Socket::IPIO::Socket::INET6或{ {3}},取决于您安装的内容)。

但是,它会查看此参数以获取SSL_server选项的有用默认设置,因此您不必同时设置Listen(对于TCP)和{{1 (对于SSL)。

答案 1 :(得分:1)

它告诉IO :: Socket :: SSL该套接字是服务器套接字。我相信它也可以设置挂起连接队列的允许长度。