perl ソケット
サーバースクリプト
#クライアントからの文字入力を受けてそれをそのまま返すサーバースクリプト #echoserver.pl #モジュールの使用宣言 use IO::Socket; #ソケットオブジェクト作成 $server_socket = new IO::Socket::INET( LocalPort => '10000', Proto => 'tcp', Listen => 5, Reuse => 1 ); unless($server_socket){ print "SOcket Error:$!\n"; } #待機 $client_socket = $server_socket->accept(); #クライアントからの入力を表示 while($string = <$client_socket>){ print "受理:$string"; } #ソケットを閉じる $client_socket->close(); $server_socket->close();
クライアントスクリプト
#文字入力をサーバーに送るクライアントスクリプト #echoclient.pl #モジュールの使用宣言 use IO::Socket; #ソケットオブジェクト作成 $client_socket = new IO::Socket::INET( PeerAddr => 'localhost', PeerPort => '10000', Proto => 'tcp', TimeOut => '5' ); unless($client_socket){ print "Socket Error:$!\n"; } #入力をサーバーに送信 while($string = <STDIN>){ if($string =~ /^QUIT/){ #QUITという文字列で始まる入力があると終了 last; } print $client_socket "$string"; } #ソケットを閉じる $client_socket->close();
コマンドプロンプトウインドウを2つ起動し、まずはサーバースクリプトを実行する。
別のコマンドラインからクライアントスクリプトを実行するとこのスクリプトがサーバーに接続される。クライアント側で文字列を入力しenterキーを押すとサーバー側にその文字列が表示される。
実行結果
サーバー側
$ perl echoserver.pl 受理:from client 受理:hello
クライアント側
$ perl echoclient.pl from client hello QUIT
- 作者: Randal L. Schwartz,brian d foy,Tom Phoenix,近藤嘉雪
- 出版社/メーカー: オライリージャパン
- 発売日: 2012/07/25
- メディア: 大型本
- 購入: 7人 クリック: 22回
- この商品を含むブログ (17件) を見る