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=""
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写的练手脚本,出现以上异常有两个原因
1、服务器端Receive数据时,关闭了客户端就会强制关闭连接,就会出现上面的错误提示;
2、客户端线程执行完,if not data 写错,不能跳出循环导致出错。所以写是if not data ,是用来判断客户端线程是否结束,然后执行退出。
建议:
在接收完数据后退出死循环,不要让recv()函数阻塞住,关闭客户端(文件发送端)前建议发送一个消息告诉服务器端(文件接收方)“我要断开连接了”,然后两方都关闭连接close
ConnectionAbortedError: [WinError 10053] 您的主机中的软件中止了一个已建立的连接的更多相关文章
- ConnectionAbortedError: [WinError 10053] 你的主机中的软件中止了一个已建立的连接
Traceback (most recent call last): File "C:\Users\Administrator\AppData\Local\Programs\Python\P ...
- Django项目运行时出现self.status.split(' ',1)[0], self.bytes_sent,ConnectionAbortedError: [WinError 10053] 你的主机中的软件中止了一个已建立的连接。
[02/Nov/2018 09:46:51] "GET /new_industry/category HTTP/1.1" 200 2891792 Traceback (most r ...
- Django报错:ConnectionAbortedError: [WinError 10053] 你的主机中的软件中止了一个已建立的连接。
ajax请求时加上 async : false, $.ajax({ url:"{% url 'article:article_post' %}", {#一定不要写成小写了,坑了好久 ...
- System.getProperty()引起的悲剧--您的主机中的软件中止了一个已建立的连接
我已无法形容此刻我的心情.. 本来是已经写好的netty5的demo程序,server和client之间创建tcp长连接的..然后随便传点数据的简单demo..然后今天试了一下tcp粘包的例子,用到了 ...
- java.io.IOException: 您的主机中的软件中止了一个已建立的连接解决办法
问题现象和http://hi.baidu.com/cara_cloud/item/193a3ee327546d395a2d64be描述的一样,就是在eclipse的console栏中一直显示java. ...
- java.io.IOException: 你的主机中的软件中止了一个已建立的连接。
1.异常表现:我在jsp文件中有一个<form>表单,里面有一个<button>保存事件按钮.<button onclick="addOrUPdate()&q ...
- 如何解决tomcat中的应用报java.io.IOException: 您的主机中的软件中止了一个已建立的连接
转载: 施勇: https://blog.csdn.net/shiyong1949/article/details/72845634 这两天突然看到日志文件中有“java.io.IOException ...
- tomcat报错:java.io.IOException: 您的主机中的软件中止了一个已建立的连接。
tomcat报错: org.apache.catalina.connector.ClientAbortException: java.io.IOException: 您的主机中的软件中止了一个已建立的 ...
- Caused by: java.io.IOException: 您的主机中的软件中止了一个已建立的连接。
异常详情 2017-07-16 10:55:26,218 ERROR [500.jsp] - java.io.IOException: 你的主机中的软件中止了一个已建立的连接. org.apache. ...
随机推荐
- 助教总结 -【福大软工实践-2017-2018-K班】
助教总结 -[福大软工实践-2017-2018-K班] 非常抱歉这么晚才来写总结! 助教工作 助教共发表博客39篇. 助教共点评约500条. 起步 对于常规课程的起步,通常都是在第一次课堂上由老师对课 ...
- 牛客练习赛 A题 筱玛的快乐
链接:https://ac.nowcoder.com/acm/contest/342/A来源:牛客网 筱玛的快乐 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 524288K,其他语 ...
- 架构 规则引擎 quartz
通向架构师的道路(第五天)之tomcat集群-群猫乱舞-云栖社区-阿里云https://yq.aliyun.com/articles/259343 商业规则引擎和开源规则引擎的测试对比 - qq_39 ...
- K8S、云计算、大数据、编程语言
云计算.大数据.编程语言学习指南下载,100+技术课程免费学!这份诚意满满的新年技术大礼包,你Get了吗?-云栖社区-阿里云https://yq.aliyun.com/articles/691028 ...
- js-XMLHttpRequest 2级
###1. XMLHttpRquest 2级 1) FormData 现代web应用中频繁使用的一项功能就死表单数据的序列化, XMLHttpRquest 2级为此定义了FormData类型 Fo ...
- react render
实际上react render方法返回一个虚拟dom 并没有去执行渲染dom 渲染的过程是交给react 去完成的 这就说明了为什么要在所有数据请求完成后才去实现render 这样做也提高了性能.只调 ...
- socket通信原理三次握手和四次握手详解
对TCP/IP.UDP.Socket编程这些词你不会很陌生吧?随着网络技术的发展,这些词充斥着我们的耳朵.那么我想问: 1. 什么是TCP/IP.UDP?2. Sock ...
- js对input框的可编辑属性设置
添加disabled属性 $('#areaSelect').attr("disabled",true); $('#areaSelect').attr("disabled& ...
- python爬虫之requests的基本使用
简介 Requests是用python语言基于urllib编写的,采用的是Apache2 Licensed开源协议的HTTP库,Requests它会比urllib更加方便,可以节约我们大量的工作. 一 ...
- python之路--初识函数
一 . 函数 什么是函数 f(x) = x + 1 y = x + 1 # 函数是对功能或者动作的封装 函数的语法 def 函数名(): 函数体 调用: 函数名() def play(): print ...