Socketプログラミング

Socketプログラミングの前に

まずSocketについて基礎を抑えておかないと混乱しそうなので、先にSocketの基礎だけ勉強したので、その際のノート。

というわけでまずはSocketとは?というところから

Socketとは

Wikipediaによると

A network socket is an endpoint of a connection across a computer network.
… 以下略

Socket API の Man pageでは、

socket – 通信のための端点 (endpoint) を作成する

とあるのでSocketとは通信の端点のことを指しています。

SocketとTCP/IP通信の流れ

Client-ServerモデルのTCP/IP通信の流れの中で、Socket-APIは以下の青線の階層でユーザプログラムとOS間のSoketに関するやりとりを担います。

 

TCPSocketの通信時のシーケンス

Socket-APIはソケットの作成->接続->データ送受信->クローズを行います。TCPSocketでは、通信時のシーケンスは以下のようになります。

 

UDPSocketの通信時のシーケンス

UDPSocketでは、通信時のシーケンスは以下のようになります。UDPはTCPと異なりコネクションレスのプロトコルなので、TCPの時と異なり、listen/connectしないでいきなりデータを送ります。

 

というわけでSocket周りの基礎的なところをざっと確認できたので、続けてPythonでSocketプログラミングやっていこうと思います。

参考リンク

こちらのサイトでTCP/IP通信についてわかりやすく書かれています。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

CAPTCHA