我写了一个套接字样本,包括服务器和客户端程序。在服务器上,当它接受连接时,它会立即关闭它。在客户端,它将连接到服务器,然后休眠1秒,然后发送服务器的东西。 令我困惑的是为什么send函数不返回0?代码在
之下Client.py
import socket
import time
clientsocket = socket.socket(socket.AF_INET,socket.SOCK_STREAM)
try:
clientsocket.connect(("127.0.0.1",8886))
ret = clientsocket.send(("Hello world").encode('utf-8'))
time.sleep(1.0)
print("All send bytes is {}".format(ret))
except socket.error as msg:
print(msg)
Server.py
import socket
serversocket = socket.socket(socket.AF_INET,socket.SOCK_STREAM)
serversocket.bind(("127.0.0.1",8886))
serversocket.listen(5)
while True:
clientsocket,addr = serversocket.accept()
clientsocket.shutdown(2)
clientsocket.close()
发送函数返回11而不是0.建立连接后,我立即关闭它。但客户端成功发送数据。这让我感到困惑