winerror 10053 python_ConnectionAbortedError: [WinError 10053] 您的主机中的软件中止了一个已建立的连接...

在Python socket编程中遇到WinError 10053异常,该异常通常发生在服务器尝试从已关闭的客户端接收数据时。文章分析了问题原因并提出解决方案:在接收数据后及时退出循环,或者在关闭客户端前发送断开连接的信号给服务器,确保双方有序关闭连接。
摘要由CSDN通过智能技术生成

socket服务端在接收socket客户端时抛出异常

ConnectionAbortedError: [WinError 10053] 您的主机中的软件中止了一个已建立的连接。

socket服务端代码

#-*- coding:utf-8 -*-#Author: Jiang Zu Xing

importsocket,time

socketserver=socket.socket()

host="0.0.0.0"port=9999socketserver.bind((host,port))

socketserver.listen(5)whileTrue:

client,addr=socketserver.accept()print("连接来自:",addr)

msg="显示服务器返回数据"

whileTrue:print("准备接收数据")

data= client.recv(1024)print("接收数据完毕")if data ==0:print("no data")break

else:print(data.decode(‘utf-8‘))

client.send(msg.encode())

client.close()

socketserver.close()

socket客户端代码

#-*- coding:utf-8 -*-#Author: Jiang Zu Xing

importsocket,time

socket_client=socket.socket()

host="192.168.1.35"port=9999data="222"socket_client.connect((host,port))print("开始发送")

socket_client.send(data.encode())print("开始接收")

msg=socket_client.recv(1024)print("接收结束")print(msg.decode(‘utf-8‘))

time.sleep(100)

异常

Traceback (most recent call last):

File "C:/Users/Administrator/Desktop/jiang/python/demo/网络编程/socket_server.py", line 15, in

data = client.recv(1024)

ConnectionAbortedError: [WinError 10053] 您的主机中的软件中止了一个已建立的连接。

出现问题:

刚刚学习socket写的练手脚本

服务器端Receive数据时,关闭了客户端就会强制关闭连接,就会出现上面的错误提示。

建议:

在接收完数据后退出死循环,不要让recv()函数阻塞住,关闭客户端(文件发送端)前建议发送一个消息告诉服务器端(文件接收方)“我要断开连接了”,然后两方都关闭连接close

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值