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

Posted Gringer

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ConnectionAbortedError: [WinError 10053] 您的主机中的软件中止了一个已建立的连接相关的知识,希望对你有一定的参考价值。

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

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

socket服务端代码

#-*- coding:utf-8 -*-
# Author: Jiang Zu Xing
import socket,time
socketserver=socket.socket()
host="0.0.0.0"
port=9999
socketserver.bind((host,port))
socketserver.listen(5)
while True:
    client,addr=socketserver.accept()
    print("连接来自:",addr)
    msg="显示服务器返回数据"
    while True:
        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
import socket,time
socket_client=socket.socket()
host="192.168.1.35"
port=9999
data="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 <module>
    data = client.recv(1024)
ConnectionAbortedError: [WinError 10053] 您的主机中的软件中止了一个已建立的连接。

出现问题:

刚刚学习socket写的练手脚本

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

建议:

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

 

以上是关于ConnectionAbortedError: [WinError 10053] 您的主机中的软件中止了一个已建立的连接的主要内容,如果未能解决你的问题,请参考以下文章

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

ConnectionAbortedError: [WinError 10053] 你的主机中的软件中止了一个已建立的

Python 会话 10054 连接中止错误

python dir(__builtins__)

python02-basic-num-str