ソケットの receive メソッドの使い方

ソケットの受信メソッドを使用すると、ソケットからデータを確実に受信できます。

使い方は以下の通りです。

  1. ソケットオブジェクトを作成します。コードサンプルは次のとおりです。
import socket

# 创建TCP socket
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)

# 设置socket选项
s.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)

# 绑定地址和端口
s.bind(('localhost', 8080))

# 监听
s.listen(5)

# 接受连接
conn, addr = s.accept()
  1. ソケットのreceiveメソッドを使用してデータを受信します。コードの例を以下に示します。
# 接收数据
data = conn.recv(1024)

# 处理接收到的数据
print(data.decode())

# 关闭连接
conn.close()

上のサンプルコードでは「conn」はすでに確立済みの接続で、データを受信するには「conn.recv()」メソッドを使用します。引数の 1024 は、一度に多くとも 1024 バイトのデータを受信することを意味し、受信したデータが 1024 バイトを超過する場合は「recv()」メソッドを複数回呼び出して、残りのデータをすべて受信します。

TCP接続では、送信側と受信側の送信・受信バッファサイズをあわせる必要があります。設定が異なる場合、データロスやペケットの結合などが発生する可能性があります。

bannerAds