Presentation is loading. Please wait.

Presentation is loading. Please wait.

TCPソケットプログラミング ソケットプログラミング TCP-echoのデータ通信手順

Similar presentations


Presentation on theme: "TCPソケットプログラミング ソケットプログラミング TCP-echoのデータ通信手順"— Presentation transcript:

1 TCPソケットプログラミング ソケットプログラミング TCP-echoのデータ通信手順
Python socket module: Just a thin wrapper over the underlying C library's socket calls. TCPソケットプログラミング TCP通信のモデルとプログラミングための背景知識 ソケットプログラミング TCP-echoのデータ通信手順 TCP-echo動作テスト(Cプログラム・Client/Serverは個別の端末) TCP-echo動作テスト(Cプログラム・Client/Serverは端末を共有) TCP-echo動作テスト(Pythonプログラム・Client/Serverは個別の端末)

2 ソケットによるデータ通信とTCP/IPネットワーク
通信プログラムを作成する上では、通信相手のソケットに自分のソケットを繋ぐことができれば、安定した通信を行うことができる。 安定した通信は、TCP/IPのプロトコルで自動的に対処される。 ソケットを繋ぐことができれば、 マシン同士が、どの様な通信機器や伝送経路を辿って、データを送受信しているかなどを気にする必要は無くなる。

3 ソケットプログラミング ソケット アプリケーションがデータを送信するための仕組みを抽象化したオブジェクト
データの送受信は、ファイルI/Oとほぼ同じ ストリームソケット TCP使用 データグラムソケット UDP使用 ソケットの共有 複数のアプリケーションが同一のソケットを参照できる AP UDP TCP IP 1 2 65535 ソケット TCP IP

4 TCP-echoのデータ通信手順 TCPEchoClient TCPEchoServer socket() bind() listen()
accept() socket() コネクション設定 connect() データ データ ”Hello” send() recv() TCP IP ”Hello” ”Hello” データ通信を行う データ通信を行う ”Hello” recv() send() コネクション開放 close() close()

5 TCP-echo動作テスト ( Cプログラム・Client/Serverは個別の端末)
データ ”Yahoo” TCPEchoClient TCPEchoServer ”Jazz” ” Jazz” TCP IP $ gcc -o TCPEchoServer TCPEchoServer.c HandleTCPClient.c DieWithError.c $ ./TCPEchoServer 5000 Handling client $ gcc -o TCPEchoClient TCPEchoClient.c DieWithError.c $ ./TCPEchoClient "Yahoo" 5000 Received: Yahoo $ ./TCPEchoClient "Jazz" 5000 Received: Jazz $

6 TCP-echo動作テスト ( Cプログラム・Client/Serverは端末を共有)
TCPEchoClient TCPEchoServer $ gcc -o TCPEchoServer TCPEchoServer.c HandleTCPClient.c DieWithError.c $ gcc -o TCPEchoClient TCPEchoClient.c DieWithError.c $ ./TCPEchoServer 5000 & [1] 11972 $ ./TCPEchoClient "Yahoo" 5000 Handling client Received: Yahoo $ ./TCPEchoClient "Jazz" 5000 Received: Jazz $ データ データ ”Yahoo” TCP IP ”Yahoo” ”Yahoo” ”Yahoo” データ データ ”Jazz” TCP IP ” Jazz” ”Jazz” ”Jazz”

7 TCP-echo動作テスト ( Pythonプログラム・Client/Serverは個別の端末)
TCPEchoClient TCPEchoServer prompt $N:$D:$S E:> TCPEchoServer.py TCPEchoServer 50007 Server connected by (' ', 1462) Server received data : Hello network world No data recevied Server connected by (' ', 1463) Hello network world Echo>=Hello network world データ データ prompt $N:$D:$S E:> TCPEchoClient.py TCPEchoClient localhost 50007 Client received data : Echo>=Hello network world E:> データ データ


Download ppt "TCPソケットプログラミング ソケットプログラミング TCP-echoのデータ通信手順"

Similar presentations


Ads by Google