Peer to Peer でメッセージの送受信

Winsock を使った Peer to Peer でリアルタイムにメッセージを送受信するプログラムです。

前田稔(Maeda Minoru)の超初心者のプログラム入門

【プログラムの操作】

  1. Start UP ボタンのクリックで Winsock の初期化を行います。
    ソケットを Bind してタイマ割り込みで到着メッセージの監視を始めます。
  2. タイマ割り込みでメッセージが届くのを監視していて、メッセージが届くと自動的に画面に表示します。
  3. メッセージを送るときは送信メッセージをタイプして、Send ボタンをクリックします。
    多くのパソコンが繋がっているときは、ボタンを押す前に送信先を自由に設定することが出来ます。
  4. このプログラムでは、相手先に届いたか否かには関知せず、単にメッセージを送信するだけです。
    画面に送信記録が表示されますが、相手が受け取った保障はありません。
  5. 終了ボタンをクリックするとプログラムが終了します。

【送信/受信の設定】

一台のパソコンでテスト

一台のパソコンでテストするときは、プログラムを二回起動して送信側と受信側のポート番号を変えて下さい。
便宜上「送信側/受信側」としましたが Peer to Peer 接続なので対等です。

送信側の設定
受信Port 12345
送信Port 12340
送信URL 127.0.0.1

受信側の設定
受信Port 12340
送信Port 12345
送信URL 127.0.0.1

一本のプログラムで送信と受信

一本のプログラムで送信側と受信側の両方を兼ねることもできます。
そのときのポート番号の設定は、次のようになります。

受信Port 12345
送信Port 12345
送信URL 127.0.0.1

二台以上のパソコンを繋ぐ

本来は送信側と受信側のパソコンはネットで接続されている別のマシンなので設定は次のようになります。

送信側の設定
受信Port 12345
送信Port 12345
送信URL 192.168.1.15

受信側の設定
受信Port 12345
送信Port 12345
送信URL 192.168.1.21

IP アドレスを調べる

それぞれのパソコンに割り当てられたIPアドレスは ipconfig で確認できます。
DNS(Domain Name Service) を使っている時などは、IPアドレスが変わることがあるので、実行時に確認して下さい。
C:\>ipconfig

Windows IP Configuration

Ethernet adapter ローカル エリア接続:

    Connection-specific DNS Suffix . : cong.ac.jp
    IP Address . . . . . . . . . . . : 192.168.1.15
    Subnet Mask  . . . . . . . . . . : 255.255.255.0
    Default Gateway  . . . . . . . . : 192.168.1.1

C:\>

ファイアウォール

WindowsXP で起動するときは画像を参考にして、[コントロールパネル][ネットワーク接続] を開いて、 ローカルエリア接続のプロパティから [詳細設定][詳細] ボタンで [Windows ファイアウォール] を無効にして下さい。

ファイアウォールの画像

Down Load

sendrecv.exe の Down Load

提供するするファイルは LHA で圧縮されています。
解凍して適当なフォルダーに格納して使用して下さい。