0
私は単純なIO ::ソケット接続をperlで記述しようとしています。しかし、私はいくつかの問題にぶつかっています。ここでは、サーバー側のコードは次のとおりです。IO ::ソケットTCP接続の問題
my $listener =
IO::Socket::INET->new(LocalPort => 8000, Listen => 1, Reuse => 1);
die "Can't create socket for listening: $!" unless $listener;
print "Listening for connections on port 8000\n";
while(1) {
while ($client = $listener->accept()) {
while (<$client>) {
my @arguments = split(/ /, $_);
my $result = "something" ;# here we do something in my code
warn $result;
print $client $result;
close $client;
}
}
}
そして、クライアントコード:
use IO::Socket;
my $sock = new IO::Socket::INET (
PeerAddr => 'xx.xxx.xxx.xxx',
PeerPort => '8000',
Proto => 'tcp',
);
die "Could not create socket: $!\n" unless $sock;
$sock->autoflush(1);
print $sock "somethin something";
print "sent\n";
while (<$sock>) { print }
close $sock;
私の問題は、今のデータは、私が閉じたときにのみtehのサーバにクライアントから送信されているように見えるということですクライアントPerlプログラム。クライアント側で「送信済み」というメッセージが表示されますが、クライアント側を手動で閉じた後になるまで、サーバー側の「何か」メッセージは表示されません。
また、私はサーバーの応答を取得したいと思います。これまでのところ、スクリプトを手動で閉じる必要があるため、クライアント側には応答はありません。
誰でも手助けできますか?
ありがとうございました!私は前にその情報を見つけられなかったとは信じられません...それを逃してしまったに違いありません。 – pyvi