Socketの送受信操作

ソケットを使用してネットワーク通信を行う場合は、sendメソッドとreceiveメソッドを使用できます。

  1. データを送信する:sendメソッドを使用してデータを送信します。sendメソッドには2つのパラメータがあり、1つ目が送信するデータのバイトストリームで、2つ目がデータの長さです。サンプルコードを以下に示します。
data = "Hello, World!"
sock.send(data.encode())
  1. データ受信:receiveメソッドを使用してデータを受信します。receiveメソッドは1つの引数を取ります。データを受信するためのバッファサイズです。サンプルコードは次のとおりです。
buffer_size = 1024
data = sock.recv(buffer_size)
print(data.decode())

上部に定数buffer_sizeを1024として定義し、recvメソッドでデータを受信して、受信したバイトストリームを文字列にデコードしています。

なお、sendメソッドとreceiveメソッドはどちらもブロックされ、つまりデータの送受信を行っている間、オペレーションが完了するまでプログラムの実行は一時停止されます。データを送り、受けるときにタイムアウト時間を設定する必要がある場合は、settimeoutメソッドで設定することができます。

bannerAds