在使用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\r\ncontent-type:text/html; charset=utf-8\r\n\r\n') conn.send(b'hello world') conn.close() sk.close()
原因:每次循環的時候我把socket的客戶端給關閉了,所以無法accept就只造成了這樣的報錯.只怪自己太大意了。
解決方法是把最后面的sk,close給刪除掉就好了。