精华内容
下载资源
问答
  • [261]Connection reset by peer的常见原因及解决办法

    万次阅读 多人点赞 2018-07-07 13:35:48
    1,如果一端的Socket被关闭(或主动关闭,或因为异常退出而 引起的关闭),另一端仍发送数据,...2,一端退出,但退出时并未关闭该连接,另一端如果在从连接中读数据则抛出该异常(Connection reset)。 简单的...

    1、如果一端的Socket被关闭(或主动关闭,或因为异常退出而引起的关闭),另一端仍发送数据,发送的第一个数据包引发该异常(Connect reset by peer)。

    Socket默认连接60秒,60秒之内没有进行心跳交互,即读写数据,就会自动关闭连接。

    2、一端退出,但退出时并未关闭该连接,另一端如果在从连接中读数据则抛出该异常(Connection reset)。

    简单的说就是在连接断开后的读和写操作引起的。

    Connection reset by peer的常见原因

    1)服务器的并发连接数超过了其承载量,服务器会将其中一些连接关闭

    如果知道实际连接服务器的并发客户数没有超过服务器的承载量,则有可能是中了病毒或者木马,引起网络流量异常。可以使用netstat -an查看网络连接情况。

    2)客户关掉了浏览器,而服务器还在给客户端发送数据

    3)浏览器端按了Stop

    这两种情况一般不会影响服务器。但是如果对异常信息没有特别处理,有可能在服务器的日志文件中,重复出现该异常,造成服务器日志文件过大,影响服务器的运行。可以对引起异常的部分,使用try...catch捕获该异常,然后不输出或者只输出一句提示信息,避免使用e.printStackTrace();输出全部异常信息。

    4)防火墙的问题

    如果网络连接通过防火墙,而防火墙一般都会有超时的机制,在网络连接长时间不传输数据时,会关闭这个TCP的会话,关闭后在读写,就会导致异常。 如果关闭防火墙,解决了问题,需要重新配置防火墙,或者自己编写程序实现TCP的长连接。实现TCP的长连接,需要自己定义心跳协议,每隔一段时间,发送一次心跳协议,双方维持连接。

    5)JSP的buffer问题

    JSP页面缺省缓存为8k,当JSP页面数据比较大的时候,有可能JSP没有完全传递给浏览器。这时可以适当调整buffer的大小。

    • 第1个异常是java.net.BindException:Address already in use: JVM_Bind。

    该异常发生在服务器端进行new ServerSocket(port)(port是一个0,65536的整型值)操作时。异常的原因是以为与port一样的一个端口已经被启动,并进行监听。此时用netstat –an命令,可以看到一个Listending状态的端口。只需要找一个没有被占用的端口就能解决这个问题。

    • 第2个异常是java.net.ConnectException: Connection refused: connect。

    该异常发生在客户端进行 new Socket(ip, port)操作时,该异常发生的原因是或者具有ip地址的机器不能找到(也就是说从当前机器不存在到指定ip路由),或者是该ip存在,但找不到指定的端口进行监听。出现该问题,首先检查客户端的ip和port是否写错了,如果正确则从客户端ping一下服务器,看是否能 ping通,如果能ping通(服务服务器端把ping禁掉则需要另外的办法),则看在服务器端的监听指定端口的程序是否启动,这个肯定能解决这个问题。

    • 第3个异常是java.net.SocketException: Socket is closed,该异常在客户端和服务器均可能发生。

    异常的原因是己方主动关闭了连接后(调用了Socket的close方法)再对网络连接进行读写操作。

    • 第4个异常是java.net.SocketException: (Connection reset或者 Connect reset by peer:Socket write error)。

    该异常在客户端和服务器端均有可能发生,引起该异常的原因有两个,第一个就是如果一端的Socket被关闭(或主动关闭或者因为异常退出而引起的关闭),另一端仍发送数据,发送的第一个数据包引发该异常 (Connect reset by peer)。另一个是一端退出,但退出时并未关闭该连接,另一端如果在从连接中读数据则抛出该异常(Connection reset)。简单的说就是在连接断开后的读和写操作引起的。

    • 第5个异常是java.net.SocketException: Broken pipe。该异常在客户端和服务器均有可能发生。

    在第4个异常的第一种情况中(也就是抛出SocketExcepton:Connect reset by peer:Socket write error后),如果再继续写数据则抛出该异常。前两个异常的解决方法是首先确保程序退出前关闭所有的网络连接,其次是要检测对方的关闭连接操作,发现对方关闭连接后自己也要关闭该连接。

    客户端错误代码10053 Software caused connection abort(软件原因导致连接中断)


    rabbitMQ连接断开问题

    猜测:pika客户端没有及时发送心跳,连接被server断开

    一开始修改了heartbeat_interval参数值, 示例如下:

    def test_main():
        s_conn = pika.BlockingConnection(
            pika.ConnectionParameters('127.0.0.1', 
                heartbeat_interval=10,
                socket_timeout=5,
                credentials=pika.PlainCredentials(USER, PWD)))
        # ....
    

    去看它的api,看到heartbeat_interval的解析:

    :param int heartbeat_interval: How often to send heartbeats.
                                      Min between this value and server's proposal
                                      will be used. Use 0 to deactivate heartbeats
                                      and None to accept server's proposal.
    

    按这样说法,应该还是没有把心跳值给设置好。上面的程序期望是10秒发一次心跳,但是理论上发送心跳的间隔会比10秒多一点。所以艾玛,我应该是把heartbeat_interval的作用搞错了, 它是指超过这个时间间隔不发心跳或不给server任何信息,server就会断开连接, 而不是说pika会按这个间隔来发心跳。 结果我把heartbeat_interval值设置高一点(比实际发送心跳/信息的间隔更长),比如上面设置成60秒,就正常运行了。

    如果不指定heartbeat_interval, 它默认为None, 意味着按rabbitMQ server的配置来检测心跳是否正常。

    如果设置heartbeat_interval=0, 意味着不检测心跳,server端将不会主动断开连接。但实际上设置heartbeat=0,并不起作用,这个心跳值时间间隔是由server端控制的,可以参考我的这篇文章就知道原因了,https://blog.csdn.net/xc_zhou/article/details/84033841。

    究竟该如何彻底解决,这个问题也困扰我了好久,下面给出解决方法

    import threading,time
    
    #开启一个线程,每隔20s,执行一次心跳
     def timesleep(n):
         for i in range(n):
             time.sleep(20)
             # heartbeat=0,意味着不检测心跳,server端将不会主动断开连接。但是并不起作用,
             # process_data_events 方法,类似 heartbeat 操作,可以保持与 rabbitmq 的通信。
             # 在执行长时间任务时,定时调用 process_data_events 方法,就不会丢失连接
             self.connection.process_data_events()
     message_thread = threading.Thread(target=timesleep, args=(3600*24,))
     message_thread.start()
    

    如还有问题,请看下篇文章,也许会帮到你,pika missed heartbeats from client timeout 60s 的问题

    参考:https://blog.csdn.net/candyguy242/article/details/25699727
    http://www.360doc.com/content/13/0722/10/11220452_301678390.shtml
    https://segmentfault.com/q/1010000011299922

    展开全文
  • 解决: java.net.ConnectException: Connection refused: connect

    万次阅读 多人点赞 2018-07-05 14:54:57
    java.net.ConnectException: Connection refused: connect 1. 报错如上。 2. 原因和解决: 1)端口号被占用:杀死占用端口号(一般为8080)的进程,释放端口;彻底关闭 Tomcat 服务器,或者重新启动项目。 2)...

    前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到教程。

     

    java.net.ConnectException: Connection refused: connect

    1. 报错如上

    2. 原因和解决:

     

    1)端口号被占用:杀死占用端口号(一般为8080)的进程,释放端口;彻底关闭 Tomcat 服务器,或者重新启动项目。

    2)使用以下命令检查服务器中允许的最大进程数: ulimit -u。如果将此值设置为较低值,例如1024,则使用以下值将其增加到131072或无限制:ulimit -u 131072  或者 ulimit -u无限制 。

     

    3)客户端和服务器,它们中的任何一个或两个都不在网络中。

    它们可能没有连接到LAN或互联网或任何其他网络,在这种情况下,Java将会抛出

    客户端的“ java.net.ConnectException:Connection refused ”异常。


    4)服务器未运行用

    是服务器已关闭但未运行。在这种情况下,你也会得到java.net.ConnectException:连接被拒绝错误。可ping来检查服务器是否正在运行并侦听端口。


    5)服务器正在运行但没有侦听端口,客户端正在尝试连接。

    服务器正在运行但是正在侦听不同的端口。验证配置。如果你正在处理一个大项目,并有一个分层配置文件,它可能是默认配置或其他一些设置覆盖了您正确的设置。

     

    6)主机端口组合不允许使用防火墙

    几乎每个企业网络都受防火墙保护。如果您正在连接其他公司网络,例如在任何电子交易系统中,需要提高防火墙

    双方要求确保他们允许彼此的IP地址和端口号。如果防火墙不允许连接,也会收到相同的java.net.ConnectException:Java应用程序中的连接拒绝异常。

     

    7)主机端口组合不正确。

    提供的主机端口组合不正确,或者服务器端的早期主机端口组合已经更改。检查客户端和服务器端的最新配置。

     

    8)连接字符串中的协议不正确

    TCP是许多高级协议的基础协议,包括HTTP,RMI等。通过连接时字符串,你需要确保你传递正确的协议,服务器期望。例如服务器已暴露,通过 RMI 而不是连接字符串的服务应该以rmi:// 开头。

     

     

    3.我的情况:
    我的原因到是比较简单,大概属于上面的第5、7、8点,反正就是配置不正确。我只是把 数据库所在服务器 IP 地址写错了。

    spring.datasource.url=jdbc:mysql://数据库所在服务器IP:3306/gaei_ms?useUnicode=true&characterEncoding=utf-8&useSSL=false
    

    ---------------------------------------------------------------------------------------------

    2019年7月4日补记:

    从评论中得知:

    “  若注释中未添加全部参数,也同样会出现此问题。”

    加入文章中,供参考,也非常感谢这位朋友: `Seven 。

     

    参考:https://javarevisited.blogspot.com/2013/02/java-net-ConnectException-Connection-refused.html

    展开全文
  • /usr/bin/ruby -e "$(curl -fsSL ...开始一直报错Failed to connect to raw.githubusercontent.com port 443: Connection refused error: Error: 7, 尝...

    /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
    开始一直报错Failed to connect to raw.githubusercontent.com port 443: Connection refused error: Error: 7,

    尝试过改动git config的代理,没有用,

    换中科大的源,也没有用

    最后解决办法如下,重装command line tools,再执行安装指令,homebrew安装成功。

    removing the old tools ($ rm -rf /Library/Developer/CommandLineTools)
    install xcode command line tools again ($ xcode-select --install).
    /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

    方法二

    问题:macOS安装Homebrew时总是报错(Failed to connect to raw.githubusercontent.com port 443: Connection refused)

    原因:由于某些你懂的因素,导致GitHub的raw.githubusercontent.com域名解析被污染了。

    解决办法:通过修改hosts解决此问题。

    查询真实IP

    The Best IP Address, Email and Networking Tools - IPAddress.com查询raw.githubusercontent.com的真实IP。

    修改hosts

    sudo vim /etc/hosts
    

    添加如下内容:

    199.232.28.133 raw.githubusercontent.com

    可以使用国内源啦  再也不痛苦啦

    /bin/zsh -c "$(curl -fsSL https://gitee.com/cunkai/HomebrewCN/raw/master/Homebrew.sh)"

    转自:mac 安装homebrew出错 Failed to connect to raw.githubusercontent.com port 443: Connection refused error:_heroacool的专栏-CSDN博客

    展开全文
  • 在JDBC连接Mysql数据库的过程中...WARN: Establishing SSL connection without server's identity verification is not recommended. According to MySQL 5.5.45+, 5.6.26+ and 5.7.6+ requirements SSL connection...

    在JDBC连接Mysql数据库的过程中出现了如下的警告信息:

     WARN: Establishing SSL connection without server's identity verification is not recommended. According to MySQL 5.5.45+, 5.6.26+ and 5.7.6+ requirements SSL connection must be established by default if explicit option isn't set. For compliance with existing applications not using SSL the verifyServerCertificate property is set to 'false'. You need either to explicitly disable SSL by setting useSSL=false, or set useSSL=true and provide truststore for server certificate verification.

    是Mysql数据库的SSL连接问题,提示警告不建议使用没有带服务器身份验证的SSL连接,是在MYSQL5.5.45+, 5.6.26+ and 5.7.6+版本中才有的这个问题。解决办法在警告中已经说明了:

    1.在数据库连接的url中添加useSSL=false;

    2.url中添加useSSL=true,并且提供服务器的验证证书。如果只是做一个测试的话,没必要搞证书那么麻烦啦,在连接后添加一个useSSL=false即可,例如:

    jdbc:mysql://localhost:3306/test?useSSL=false

    在使用Java进行JDBC连接的时候,可以在Properties对象中设置useSSL的值为false,但是和写在链接中是一样的。比如

    Properties properties = new Properties();
    properties.setProperty("user", "root");
    properties.setProperty("password", "milos23);
    properties.setProperty("useSSL", "false");
    properties.setProperty("autoReconnect", "true");
    
    try (Connection conn = DriverManager.getConnection(connectionUrl, properties)) {
    	...
    } catch (SQLException e) {
    	...
    }

    其实这个是不用写出来的,但是一个同事懒啊,都不知道看警告信息,直接来问我,写给懒的人看的,哈哈

     

    展开全文
  • Nginx: Connection reset by peer 错误定位

    万次阅读 多人点赞 2019-04-08 15:27:00
    最近Nginx反向代理遇到了“104: Connection reset by peer”错误,google了一下,这里记录一下。 1 错误原因:检查链接是否已经close。 upstream发送了RST,将连接重置。 errno = 104错误表明你在对一个对端...
  • 修改设置,解除ssl验证 git config --global http.sslVerify "false" 此时,再执行git操作即可。
  • 近期在跑一个项目的时候Idea的日志窗口出现了下面的警告,该警告对运行测试的结果没有影响,但是始终...Thu Dec 20 12:50:09 CST 2018 WARN: Establishing SSL connection without server's identity verification is ...
  • 解决git下载出现:Failed to connect to 127.0.0.1 port 1080: Connection refused拒绝连接错误(20190226)文章目录:一、git拒绝连接原因分析二、错误解决方式1、查看Linux当前有没有使用代理2、查看端口有没有被...
  • 错误代码“err_connection_timed_out”的解决方案问题描述解决方案1:清除浏览器历史记录和缓存(亲测有效)解决方案2:修改Windows主机File解决方案3:刷新或更新DNS和IP地址 (亲测有效)解决方案4:过滤防火墙和...
  • JdbcConnection

    千次下载 热门讨论 2016-06-23 11:28:25
    JdbcConnection 项目通过jsp+servlet+tomcat+mysql实现了对数据库的增删改查等功能,
  • git clone 下载时报错:OpenSSL SSL_connect: Connection was reset in connection to github.com:443 解决:git config --global http.sslVerify false
  • Python爬虫报错requests.exceptions.ConnectionError: (‘Connection aborted.’, BadStatusLine("’’",)) Python爬虫报错requests.exceptions.ConnectionError: ('Connection aborted.', BadStatusLine("''",)) 这...
  • 解决java.net.ConnectException: Connection refused:connect报错

    万次阅读 多人点赞 2019-03-13 15:20:57
    1. 报“java.net.ConnectException: Connection refused:connect ”错误 2. 原因和解决: 1)端口号被占用:杀死占用端口号(一般为8080)的进程,释放端口;彻底关闭 Tomcat 服务器,或者重新启动项目。 2)使用...
  • 虚拟机无法访问主机,连接关闭,Connection closed 。Connection reset by peer 该如何解决?问题解决记录
  • 文章目录1.安全组是否开放&防火墙是否拦截请求2....查看Kafka运行日志4.在网上找资料5....今天遇到个很奇怪的问题,是关于外网连接Kafka的。 在服务器本地可以使用命令行参数...Connection to node 1 (localhost/127....
  • Github报错OpenSSL SSL_connect: Connection was reset in connection to github.com:443终极解决方案 今天在使用git命令进行push和pull时,出现如下报错: fatal: unable to access '...
  • 进入%HOMEPATH%目录 编辑其中的 .condarc 文件 删除 - default ...转载自:Anaconda使用conda连接网络出现错误(CondaHTTPError: HTTP 000 CONNECTION FAILED for url) - LiuNan的博客 - CSDN博客 ...
  • [已解决] Could not create connection to database server.

    万次阅读 多人点赞 2019-06-20 15:46:00
    解决 Could not create connection to database server. 前段时间在做一个springboot小项目时遇到了一个问题: 利用mybatis进行逆向工程创建pojo和mapper时,出现 Could not create connection to database server. ...
  • requests.exceptions.ConnectionError: HTTPSConnectionPool(host='127.0.0.1', port=443): Max retries exceeded with url: /?cdn=nohost (Caused by NewConnectionError('<urllib3.connection.VerifiedHTTP....
  • 使用swoole连接WebSocket时报错: WebSocket connection to ‘ws://123.207.120.104:9502/’ failed: Error in connection establish 请运行以下代码: 关闭服务:systemctl stop firewalld.service 关闭后出现如下...
  • 2、我使用windows,在局域网下通过ssh连接服务器报错:ssh: connect to host 192.168.1.107 port 22: Connection refused shl@shliangPC MINGW64 ~ $ ssh shl@192.168.1.107 ssh: connect to host 192.168.1.107 ...
  • Unable to establish SSL connection

    万次阅读 2018-07-14 10:00:21
    当wget出现如下错误: Can’t connect to ... 需要安装: # sudo apt-get install openssl 当wget出现如下错误: Unable to establish SSL connection 还需要安装: # sudo apt-get instal...
  • gradle调试一直报错 Connection refused: connect 其实就是新项目中的gradle与原始开发环境中的版本不匹配或者说没有对应版本资源 可以选择手动下载对应的版本资源存入本地路径 1)通过下载工具下载...
  • 其中Connection是接口,JdbcConnection是一个普通的类,getConnection()方法是静态方法,它们之所以能用 = 连起来,因为getConnection()方法返回的是实现了Connection接口的类的实例。 其实Connection是类还是...
  • DataSource.getConnection()总是从datasource或连接池返回一个新的连接。 通过调用 jdbcTemplate.getDataSource().getConnection()显式获取一个连接,这个连接不是方法事务上下文线程绑定的连接,所以如果开发者如果...
  • Connection reset

    千次阅读 2016-11-18 15:16:21
    Connection reset  最近和其它系统对接时,使用put方法,总是返回Connection reset 最后原因竟然是参数不对,因为对方给的说明文档和他自己写的代码不一致。所以有时候调试时,要和对方说明自己是按照说明文档...
  • 项目运行完后,控制台一直弹出信息DEBUG o.m.d.connection:56 Closing connection connectionId{localValue:5} 原因: 查看项目没发现问题,后来才知道这是mongoDB数据库没有连接上一直在连接的提示信息,项目没...
  • 当得到 Connection timed out: connect 的时候表示TCP路由不正常,原因有很多,可能是服务器无法ping通,可能是服务器(防火墙等)丢弃了该请求报文包,也可能是服务器应答太慢,又或者存在间歇性的问题(这种情况...
  • 错误:requests.exceptions.ConnectionError: (‘Connection aborted.’, RemoteDisconnected(‘Remote end closed connection without response’,)) 解决方法 (1)随机切换User-Agent: user_agent_list = ...
  • 诡异的Connection reset

    千次阅读 2021-03-25 20:30:35
    开发反馈测试环境A应用通过httpclient连接B应用,偶发java.net.socketException: connection reset报错。 理解 Connection reset: 在我看来 Connection reset分为2种情况: 第一种Connection reset by peer: ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,504,347
精华内容 601,738
关键字:

connection