server 端的代码
import socket
server = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
addr = ("0.0.0.0", 9000)
server.bind(addr)
server.listen(5)
while 1:
print("waiting for connection")
client, address = server.accept()
print("connection from {}:{}".format(address[0], address[1]))
while 1:
data = client.recv(1024)
if data == b"":
break
print(data)
client.close()
print("close connection from {}:{}".format(address[0], address[1]))
client 的代码
import socket
addr = ("localhost", 9000)
client = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
client.connect(addr)
client.close()
client.connect(addr)
运行的时候服务端没有啥问题, 但是在客户端的时候, 我先关闭再连接也就是 client 中的最后一行会报一个错:OSError: [WinError 10038] 在一个非套接字上尝试了一个操作, 我一直不懂为什么会报这个错, 有朋友帮我解释一下么