簡體   English   中英

無法使用IO :: Socket創建套接字

[英]Can't create socket using IO::Socket

當我運行以下代碼時,執行就掛在那里,根本沒有響應。 你們中的任何人都可以告訴我示例代碼有什么問題嗎?

use strict;
use warnings;
use IO::Select;
use IO::Socket;

my $s = new IO::Socket (
                          LocalPort => 8889,
                          Proto  => 'tcp',
                          Listen => 16,
                          Reuse  => 1
                      );

die "could not create socket $!\n" unless $s;

如果為IO :: Socket構造函數提供參數,則需要Domain參數。 在此處查看完整的源代碼,特別是configure子例程,如果您提供了參數,則該子例程將從構造函數中調用。

sub new {
  ...
  return scalar(%arg) ? $sock->configure(\%arg)
        : $sock;
}

sub configure {
  my($sock,$arg) = @_;
  my $domain = delete $arg->{Domain};

  croak 'IO::Socket: Cannot configure a generic socket' unless defined $domain;
  ....
}

也許您在考慮IO :: Socket :: INET?

示例代碼有什么問題?

IO::Socket是Perl套接字的通用超類。

您需要將IO::Socket替換為IO::Socket::INET

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM