客户端发送消息后服务端报错OSError: [WinError 10038] 在一个非套接字上尝试了一个操作。
# 错误详情
Traceback (most recent call last):
nihao
File "C:\Users\34565\AppData\Local\Programs\Python\Python35-32\lib\socketserver.py", line 625, in process_request_thread
----------------------------------------
self.finish_request(request, client_address)
Exception happened during processing of request from ('127.0.0.1', 59724)
File "C:\Users\34565\AppData\Local\Programs\Python\Python35-32\lib\socketserver.py", line 354, in finish_request
----------------------------------------
self.RequestHandlerClass(request, client_address, self)
File "C:\Users\34565\AppData\Local\Programs\Python\Python35-32\lib\socketserver.py", line 681, in __init__
self.handle()
File "C:/Users/34565/PycharmProjects/untitled/socket_server_tcp2.py", line 12, in handle
data = conn.recv(1024)
OSError: [WinError 10038] 在一个非套接字上尝试了一个操作。
# 服务端
import socketserver
import random
class MyServer(socketserver.BaseRequestHandler):
def setup(self):
pass
def handle(self):
conn = self.request
msg = "hello"
conn.send(msg.encode())
while True:
data = conn.recv(1024)
print(data.decode())
if data == b'exit':
break
conn.send(data)
conn.send(str(random.randint(1,1000)).encode())
conn.close()
def finish(self):
pass
if __name__ == "__main__":
server = socketserver.ThreadingTCPServer(("127.0.0.1", 8888), MyServer)
server.serve_forever()# 客户端
import socket
client = socket.socket()
ip_port = ("127.0.0.1", 8888)
client.connect(ip_port)
# 定义一个循环
while True:
#不断接受消息
data = client.recv(1024)
print(data.decode())
# 不断发送消息
msg_input = input(":")
client.send(msg_input.encode())
if msg_input == "exit":
break
# 对消息处理
data = client.recv(1024)
print(data.decode())请问是怎么回事?