关于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给删除掉就好了。

转载于:https://www.cnblogs.com/accolade/p/10696003.html

  • 4
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值