ソケットの receive メソッドの使い方
ソケットの受信メソッドを使用すると、ソケットからデータを確実に受信できます。
使い方は以下の通りです。
- ソケットオブジェクトを作成します。コードサンプルは次のとおりです。
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()
- ソケットのreceiveメソッドを使用してデータを受信します。コードの例を以下に示します。
# 接收数据
data = conn.recv(1024)
# 处理接收到的数据
print(data.decode())
# 关闭连接
conn.close()
上のサンプルコードでは「conn」はすでに確立済みの接続で、データを受信するには「conn.recv()」メソッドを使用します。引数の 1024 は、一度に多くとも 1024 バイトのデータを受信することを意味し、受信したデータが 1024 バイトを超過する場合は「recv()」メソッドを複数回呼び出して、残りのデータをすべて受信します。
TCP接続では、送信側と受信側の送信・受信バッファサイズをあわせる必要があります。設定が異なる場合、データロスやペケットの結合などが発生する可能性があります。