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

Slides:



Advertisements
Similar presentations
TCP/IP によるチャットプログラ ム 薄井 秀晃. 基礎知識編 TCP/IP とは? IP とは・・・ Internet Protocol の略称であり通信方法の技術的なルールで あり、実際にデータを送受信する前にデータを小さなデータ に分割し、それに発信元と受信先の IP アドレスを付加させて.
Advertisements

情報ネットワークと教育 通信と情報ネットワーク プロトコル LAN The Internet. 通信とその歴史 通信とは 電信 (1835 、モールス ) 電話 (1876 、ベル ) ラジオ (1895) 、テレビ (1925) 情報通信ネットワークへ.
インターネット プロトコル 情報教員のためのサーバ管理技法 3 日目 柴田 功. 情報教育の失敗事例 ホームページ作成でロゴの画像の ファイル名が他の生徒とかぶってし まった。 ホームページ作成でロゴの画像の ファイル名が他の生徒とかぶってし まった。 生徒には作品を FD に保存させていた が、データが消えてしまった。
Curlの特徴.
第1回.
Ibaraki Univ. Dept of Electrical & Electronic Eng.
システムコール 低水準入力 ファイルディスクリプタ ソケット
ネットワーク層.
CS-B3 ネットワークプログラミング 峰野博史
「コンピュータと情報システム」 07章 インターネットとセキュリティ
計算機システム概論・7回目 本日のトピック:やや先進的な話題 OSのネットワーク機能について OSを起動する仕組み 試験の実施方法について.
Windows Network Programming
情報処理の概念 #10 インターネットとIPv6 / 2002 (秋)
心理学情報処理法Ⅰ コンピュータネットワーク概論.
トランスポート層.
Telnet, rlogin などの仮想端末 ftp などのファイル転送 rpc, nfs
ネットワーク機器接続 2SK 情報機器工学.
ま と め と 補 足 ネットワークシステムⅠ 第15回.
パケットの流れ ブラウザ OS TCP IP LANアダプタ ハブ ルータ HTTPメッセージ TCP HTTP断片 TCP HTTP断片
第12回独習Javaゼミ 12章セクション3~4 発表者 直江 宗紀.
第5回ネットワークプログラミング 中村 修.
第2章 第1節 情報通信の仕組み 1 ネットワークの仕組み 2 通信プロトコル 3 認証と情報の保護
モバイルP2Pを用いた携帯電話 動画配信手法の提案 第3回
インターネット概論第3回 kudo担当分.
情報検索概説II(99秋) 第3回 1999/10/21 インターネットの仕組み(2).
総合講義B:インターネット社会の安全性 第6回 ネットワークの基盤技術
コンピュータとネットワークの利用 国際経営学科 牧野ゼミ3年 足立龍哉.
Linux リテラシ 2006 第4回 ネットワーク CIS RAT.
ネットワークプログラミング 中村 修.
IPv6 ネットワークにおける エニーキャスト通信実現のための プロトコル設計と実装
ネットワークアプリケーションと セキュリティ
P2P方式によるオンラインゲームの研究、開発
UDPエコーサーバ UDP-echoサーバのプログラムモデル(Cプログラム) サーバで利用するソケット関数(Cプログラム)
インターネットの基礎知識 その3 ~TCP・UDP層編~
ソケットプログラム(TCP,UDP) EasyChat開発
岡村耕二 トランスポート層 岡村耕二 情報ネットワーク.
岡村耕二 トランスポート層 ソケットプログラミング 岡村耕二 情報ネットワーク.
岡村耕二 トランスポート層 岡村耕二 情報ネットワーク.
ネットワーク技術II 第9.1課 TCP/IPプロトコルスイート
ソケットプログラム(TCP,UDP) EasyChat開発2
ネットワークの基礎知識 電子制御設計製図Ⅰ   2014年5月2日 Ⅲ限目.
インターネットにおける真に プライベートなネットワークの構築
TCP/IP入門          櫻井美帆          蟻川朋未          服部力三.
マルチホーミングを利用した Proxy Mobile IPv6の ハンドオーバー
Ibaraki Univ. Dept of Electrical & Electronic Eng.
Webプロキシ HTTP1.0 ヒント CS-B3 ネットワークプログラミング  &情報科学科実験I.
TCP/IPとプロセス間通信 2007年1月12日 海谷 治彦.
岡村耕二 トランスポート層 岡村耕二 情報ネットワーク.
岡村耕二 トランスポート層 岡村耕二 情報ネットワーク.
オペレーティングシステム (ネットワークと分散システム)
オペレーティングシステムJ/K 2004年11月8日
勝手にインフラ隊 (の中の人といっしょ) に学ぶネットワーク講座 Part2
勝手にインフラ隊 (の中の人といっしょ) に学ぶネットワーク講座 Part2
OSI7層に関係する機器、仕様、機能など 物理層 データリンク層 ネットワーク層 トランスポート層 セッション層 プレゼンテーション層
オペレーティングシステムJ/K (ネットワークと分散システム)
ToON: TCP over Overlay Network (仮称)
ユビキタスコンピューティングの ための ハンドオーバー機能付きRMIの実装
システムプログラミング 第10回 プロセス間通信3 簡易Web server(準備) Chat プログラム 担当:青木義満、篠埜 功
岡村耕二 TCP通信プログラム 岡村耕二 情報ネットワーク.
ネットワーク・プログラミング TCPサーバ.
ネットワーク・プログラミング ソケットプログラミングと共有メモリ.
ネットワーク・プログラミング 1対多のプロセス間通信.
特定ユーザーのみが利用可能な仮想プライベート・ネットワーク
アプリケーションゲートウェイ実験 2001.10.5 鬼塚 優.
ネットワーク・プログラミング マルチタスク.
TCP/IPの通信手順 (tcpdump)
ソケットの拡張によるJava用分散ミドルウエアの高信頼化
第6章 インターネットアプリケーション 6.1 インターネットアプリケーション 6.2 Javaによるネットワーク処理 6.3 電子メール
ネットワークシステム ネットワークシステム概要.
岡村耕二 TCP通信プログラム 岡村耕二 情報ネットワーク.
Presentation transcript:

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は個別の端末)

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

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

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

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 150.43.220.22 $ gcc -o TCPEchoClient TCPEchoClient.c DieWithError.c $ ./TCPEchoClient 150.43.220.22 "Yahoo" 5000 Received: Yahoo $ ./TCPEchoClient 150.43.220. 22 "Jazz" 5000 Received: Jazz $

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 150.43.220.22 "Yahoo" 5000 Handling client 150.43.220.22 Received: Yahoo $ ./TCPEchoClient 150.43.220. 22 "Jazz" 5000 Received: Jazz $ データ データ ”Yahoo” TCP IP ”Yahoo” ”Yahoo” ”Yahoo” データ データ ”Jazz” TCP IP ” Jazz” ”Jazz” ”Jazz”

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