關於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(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給刪除掉就好了。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM