在使用socket的时候,写了一个while循环,就报错了。结果如下:
OSError: [WinError 10038] 在一个非套接字上尝试了一个操作。
代码
import socket import time sk=socket.socket() ip_port=('192.168.43.155',8899) sk.bind(ip_port) sk.listen() while 1: time.sleep(1) conn,addr=sk.accept() info=conn.recv(8090).decode("utf-8") print(info) conn.send(b'http/1.1 200 OK content-type:text/html; charset=utf-8 ') conn.send(b'hello world') conn.close() sk.close()
原因:每次循环的时候我把socket的客户端给关闭了,所以无法accept就只造成了这样的报错.只怪自己太大意了。
解决方法是把最后面的sk,close给删除掉就好了。