我使用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 -插座- ssl - 1.997/lib/IO/套筒/SSL.pod
Listen参数在IO::Socket::SSL中并没有真正使用。与PeerAddr, PeerPort, Blocking, Timeout, Reuse, Proto, LocalPort等类似,它会将所有不以SSL_
开头的选项转发到底层套接字类(即IO:: socket::IP, IO:: socket::INET6或IO:: socket::INET,具体取决于您安装的内容)。
但是,它将查看此参数以获得SSL_server
选项的有用默认设置,因此您不必同时设置Listen
(用于TCP)和SSL_server
(用于SSL)。
它告诉IO::Socket::SSL这个套接字是一个服务器套接字。我认为它还可以设置等待连接队列的允许长度。