0
ここに私のコードは、クライアントはrecv(それは256文字を期待している)サーバーがちょうど5文字を送信する原因となるが、recv、任意のアイデアを返す必要がありますか?Python:なぜrecv()がブロックモードでブロックしなかったのですか?
#-----------------------------------------------------------
# server.py
import socket
import sys
sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
sock.bind(('localhost', 10000))
sock.listen(1)
while True:
connection, client_address = sock.accept()
try:
connection.send('hello'.encode('utf-8'))
except Exception:
connection.close()
#-----------------------------------------------------------
# client.py
import socket
import sys
sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
sock.connect(('localhost', 10000))
sock.setblocking(True)
try:
data = sock.recv(256)
print('received "%s"' % data.decode('utf-8'))
finally:
sock.close()
ありがとうございましたmguijarr、あなたは非常に明確な説明をする! – Qing