私は、client and server
サンプルをPerlでTCP protocol
を使って書いています。 だから私はsend()
とrecv()
関数を使用しました。 私はrecv()
の戻り値を取得しようとしました。 サンプルコードでは、私は私のコードを実行すると、それは任意の値を印刷しない、perlでTCPプロトコルを使用してrecv()とsend()の戻り値をチェックする方法は?
my $return_value;
$return_value = recv($client_socket, $data, 50, 0);
print "return value is: $return_value\n";
です。たとえば :
return value is:
はその後、私は任意の戻り値を取得していないにも関わらず、下記のリンクをお読みください。 return value of recv() function in perl
どうすればこの問題を解決できますか?
ありがとうございました。
http://perldoc.perl.org/functions/recv.htmlのrecv - scketのプロトコルは、 'RECV(この –
戻り値をサポートしている場合、'、あなたがする必要があるバイナリ値である)、送信者のアドレスを返します'Socket :: unpack_sockaddr_in()'に渡してIPアドレスとポートを取得します。私はそれが通常、不器用なように印刷するだろうと思うが、それはあなたのケースに印刷可能な文字を含んでいない可能性があります。出力を 'xxd'にパイプして見ることができます。つまり、 'recv()'は実際にはTCPサーバにとって選択肢の機能ではありません。行ベースの通信には 'print()'と '<>'を使うことができます。また、より美しいもののために 'read()'/'write()'を使うこともできます。 – mbethke