1

ユーザーがIO::Socketを使用して接続する外部ホストのホストとポート番号を入力できるようにするperlプログラムを作成しようとしています。プログラムを実行してホストとポートを入力することはできますが、接続せず、「c:\ users \ USER \ Documents \ code \ perl \ sql.plの18行目、2行目で[ホスト]に接続できませんでした」と表示されます。 。」以下に示すこのコードで何が間違っていますか?また、ホスト名またはIPアドレスのいずれかであるホストで入力検証を行うにはどうすればよいですか?本当にありがとう!以下のコード

use IO::Socket
print "Host to connect to: ";
chomp ($host = <STDIN>);
print "Port to connect with: ";
chomp ($port = <STDIN>);
while(($port > 65535) || ($port <= 0)){
    print "Port to connect with [Port > 0 < 65535] : ";
    chomp ($port = <STDIN>);
    }
print "\nConnecting to host $host on port $port\n";
$socket = new IO::Socket::INET (
                                  LocalHost => '$host',
                                  LocalPort => '$port',
                                  Proto => 'tcp',
                                  Listen => 5,
                                  Reuse => 1
                               );
die "Could not connect to  $host";
4

1 に答える 1

1

設定はIO::Socket::INET、リスニングポート(別名サーバー)を作成することです。クライアントを作成するには、次のことを試してください。

$socket = IO::Socket::INET->new(
              PeerAddr => $host,
              PeerPort => $port,
              Proto => 'tcp'
          );

IO :: Socket::INETの完全なドキュメントは次のとおりです。

于 2010-05-06T20:07:52.360 に答える