关于OSError: [WinError 10038] 在一个非套接字上尝试了一个操作。

Posted accolade

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了关于OSError: [WinError 10038] 在一个非套接字上尝试了一个操作。相关的知识,希望对你有一定的参考价值。

在使用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(bhttp/1.1 200 OK\r\ncontent-type:text/html; charset=utf-8\r\n\r\n)
    conn.send(bhello world)
    conn.close()
    sk.close()

 原因:每次循环的时候我把socket的客户端给关闭了,所以无法accept就只造成了这样的报错.只怪自己太大意了。

解决方法是把最后面的sk,close给删除掉就好了。

以上是关于关于OSError: [WinError 10038] 在一个非套接字上尝试了一个操作。的主要内容,如果未能解决你的问题,请参考以下文章