Pythonのソケット共通インタフェース説明

まず、サーバ

ソケットオブジェクトを作成します。1.

  ソケット。ソケット家族= AF_INETタイプ= SOCK_STREAMプロト= 0FILENO =なし

  AF_INET:IPv4プロトコル

  SOCK_STREAM:バイトストリームソケット

  戻り値:負でない整数は、文字表現のソケットと呼ばれます

 2、ソケットのバインドアドレス

  socket.bind((ホスト、ポート))

  ソケットに割り当てられたローカルプロトコルアドレスに、このアドレスは既に他のソケットにバインドされていません。

3、モニター

  socket.listen(5)

  このようなソケットは接続を受け付けます。接続の最大数を設定するために図5に示すように、この値は自分自身を設定することができ、最小値は0であります

図4に示すように、接続を受け入れます

  CONN、ADDR = socket.accept()

  接続を受け入れるには、ソケットは、アドレスバインディング、および接続を待機している必要があります。

戻り値は、connは、この接続でデータを送信および受信するために、新しいソケットオブジェクトである(CONN、アドレス)です。バインディングアドレスは、ソケットコネクタのもう一方の端のアドレスです。

図5に示すように、受信したデータ

  conn.recv(BUFSIZE)

  ソケットからデータを受信し、受信したデータの戻り値は、データ型はオブジェクトバイトです。それはBUFSIZEに受信するデータの使い捨て最大量。ネットワークまたはハードウェアに良いだけでは不十分であり、受信したデータは、以下BUFSIZEの量よりもできます。

図6に示すように、送信データ

  conn.send(バイト)

   リモートソケットアドレスにデータを送信するために接続されています。戻り値は、送信されたバイト数です。戻り値は以下送信されるバイトの数よりもできます。アプリケーションは、一部のデータが送信されない場合、アプリケーションが再びデータの残りの部分に送信する必要があり、すべてのデータを送出する責任があります。

  conn.sendall(バイト)

  全体のインターフェースは、リモートソケットアドレスにデータを送信する責任があります。成功したリターンなした場合、失敗例外がスローされます。

第二に、クライアント

ソケットオブジェクトを作成します。1.

  socket.socket(socket.AF_INET.socket.SOCK_STEAM)

  同じサーバーでソケットオブジェクトを作成します。

2、socket.connect((ホスト、ポート))

  リモートソケットアドレスに接続することにより、

図3に示すように、受信したデータ

  socket.recv()

  同じサーバーのrecv()

図4に示すように、送信データ

  socket.send()

  同じサーバ送信()

  socket.sendall()

  サーバー側sendall付き()

おすすめ

転載: www.cnblogs.com/briskzou/p/12080378.html