2011-12-20 11 views
3

私はIO :: SOCKETを初めて使用していて、ネットワークプログラミングを初めて利用しています。私は同じことについていくつかのオンラインチュートリアルを読んだ。私はWindows上でPerlを実行しています:(別の選択はありません。私の目標は、ローカルマシン上のソケット経由で2つのプロセスを接続することです。 (ソケット接続のあるサーバープログラムのようなもの)新規ユーザーがWindowsでIO :: Socketを使用しようとしています

私のPerlスクリプトでは、クライアントソケットを作成し、それを.exeソケットに(ポート経由で)接続します。問題は、どこからコードを開始するのかわからないということです。もう1つの主要なPerlスクリプトが必要で、PerlモジュールとしてGPIB経由で機器を制御する他のPerlスクリプトを作成してください。

私はありがたいですこの考え方とソケット接続に関するプログラミング例のいくつかのフィードバック。

+0

http://perldoc.perl.org/IO/Socket/INET.html –

+0

アイバンの例から始めることができます。これは、2つの理由からあまり良いアドバイスではありません。ドキュメントは、既に知っている人にのみ役に立ちます彼らが何をしているのか。あなたはIO :: Socket :: INETがPerl 5.14で使用されるべきであると言及するのを怠ります。以前のバージョンはIPv4のみであり、2011年にIPv4専用ソフトウェアを書くのは悪い考えです。 – daxim

+0

ローカルマシン上でアプリケーションを実行するIP4またはIP6について心配する必要はありませんか? – user2829

答えて

2

不吉なサーバ実行ファイルを実行します。ポートにバインドしてリッスンを開始します。

  1. ホスト名
  2. ポート番号
  3. プロトコル、つまりサーバーに話すとき何を言うために、どのように解釈する:ソケットの上に意味のあるデータ交換を持ってするには、3つのことを知っておく必要がありますその答え

use IO::Socket::IP qw(SOCK_STREAM); 
my $socket = IO::Socket::IP->new(
    PeerHost => $host_name, 
    PeerPort => $port_number, 
    Type  => SOCK_STREAM, # Transmission Control Protocol 
) or die "Cannot construct socket - [email protected]"; 
$socket->say('Hello, server! How are you doing?'); 
say for $socket->getlines; 

利用可能な方法についての関連ドキュメントは、IO::Socket::IPでありますIO::SocketおよびIO::Handle

関連する問題