添加链接
link之家
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接

今天写了一个用socket连接客户端与服务端脚本的脚本,主要功能是客户端给服务端发送命令,然后服务端执行,执行完后服务端给客户端返回执行结果。但是给我报错:

TimeoutError: [WinError 10060] 由于连接方在一段时间后没有正确答复或连接的主机没有反应,连接尝试失败。

网上搜了一下报错的原因,说是请求超时了,需要添加一个超时参数timeout,在创建socket前设置:

socket.setdefaulttimeout(500)

设置完果然不报错了,小问题so easy。结果没高兴一会儿又给我报另一个错了!!!

ConnectionResetError: [WinError 10054] 远程主机强迫关闭了一个现有的连接。

继续网上找解决方案,结果很多都是说这是爬虫被服务器识别出来,服务端关闭了这个socket连接。但是这是我自己的服务器啊!我服务端的代码并没有关闭这个socket连接,为什么还会报这个错。

因为问题定位不清晰,网上搜了好久,终于找到了这篇博客: Python+socket完美实现TCP长连接保持存活

在网络开发使用TCP协议实现客户端和服务端通信时,某些场合需要保持长连接,但这并不容易。在默认情况下,超过一定时间没有数据收发操作时,连接会自动断开,从而导致数据丢失。

原来如此!

客户端在创建socket之后,设置心跳:

sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
sock.setsockopt(socket.SOL_SOCKET, socket.SO_KEEPALIVE, True)
sock.ioctl(socket.SIO_KEEPALIVE_VALS, (1, 60 * 1000, 30 * 1000))

问题总算解决。如果你有什么问题,可以在评论区提问,我看到会回复。

python socket . error : [Errno 10054 ] 远程 主机 强迫 关闭 一个 现有 连接 。问题解决方案: 前几天使用 python 读取网页。因为对 一个 网站大量的使用urlopen操作,所以会被那个网站认定为攻击行为。有时就不再允许下载。导致urlopen()后,request.read()一直卡死在那里。最后会抛出errno 10054 . 这个错误是 connection reset by peer.也就是传说的远端 主机 重置了此 连接 。原因可能是 socket 超时时间过长;也可能是request = urllib.request.urlopen(url)之后,没有进行request.cl Traceback (most recent call last): File "D:\eclipse\works\pytest\pytest\test\cytest.py", line 115, in <module> pcres=urllib.request.urlopen(url) File "D:\py3.8\lib\urllib\request.py", line 222, in urlopen return opener.open(url, data, tim... 出现问题描述及分析: 最近做爬虫是,经常出现 Connection Reset Error : [ Win Error 10054 ] 等错误,主要是因为使用urlopen方法太过频繁,引起 远程 主机 的怀疑,被网站认定为是攻击行为,导致urlopen()后,request.read()一直卡死在那里,导致最后抛出 10054 异常。 具体解决办法: 1、设置sleep()等待一段时间后继续下面的操作【简单常用】 1 socket 的使用 1.1 TCP方法 在 socket 中使用 socket . socket 建立会话,如果是服务器,需要绑定服务器地址和端口号,然后进行循环监听,代码如下: import socket def tcpServer(address,port=8686): # stream代表tcp方式 server = socket . socket ( socket .AF_INET,soc 现在电脑出现的问题是多种多样的,对小编而言,最简单有效的方式是用装机吧一键重装软件重装系统,这些问题可能是系统补丁的漏洞所在,下面我整理了 远程 主机 强迫 关闭 一个 现有 连接 原因的解决方法。一:在Android studio调试过程中会遇到上述问题,解决方法如下:(1)X打开终端窗口 win +R查看5037端口都有哪些进程输入netstat -aon|findstr“5037”找出该进程输入taskli... 长篇文章对于没太多时间的朋友,我先给出解决方案,供尝试,有效可以回来点个赞,无效但有其它解决可以回来评论一下供他人参考 在启动jar时 添加 -Djava.security.egd=file:/dev/./urandom 开发中所用的数据需要通过WCF进行数据传输,结果就遇到了WCF大量传输问题 也就是提示System.Net. Socket s. Socket Exception: 远程 主机 强迫 关闭 一个 现有 连接 网上解决方案都是千篇一律互相转发的,并且没有明确的解决方案或者按照,各个博客中的解决方案都没能解决这个问题。 为此我整整浪费了一天时间用来解决这个问题,而且用了最笨的办法一点点的尝试网上所查到的方案。对于... 服务端与客户端建立 连接 后:第一:服务端建立后,与客户端进行bind,接受数据,接受数据完毕后,告知客户端传输结果;第二:客户端向客户端发送数据,使用 socket .shutdownOutput()告知服务端,数据传输完毕;但是,当使用 socket .shutdownOutput()后,再次读取服务端的返回信息时, 报错 “Exception in thread "main" java.io.IOExcep...