标签: connection-reset

是什么导致我的java.net.SocketException:连接重置?

我们java.net.SocketException: Connection reset在日志中看到频繁但间歇性的 错误.我们不确定Connection reset错误实际来自何处,以及如何进行调试.

该问题似乎与我们尝试发送的邮件无关.请注意,消息不是 connection reset by peer.

有关此异常的典型原因可能是什么的建议,以及我们如何进行?

这是一个代表性的堆栈跟踪(com.companyname.mtix.sms是我们的组件):


    java.net.SocketException: Connection reset
        at java.net.SocketInputStream.read(SocketInputStream.java:168)
        at java.io.BufferedInputStream.fill(BufferedInputStream.java:218)
        at java.io.BufferedInputStream.read(BufferedInputStream.java:235)
        at org.apache.commons.httpclient.HttpParser.readRawLine(HttpParser.java:77)
        at org.apache.commons.httpclient.HttpParser.readLine(HttpParser.java:105)
        at org.apache.commons.httpclient.HttpConnection.readLine(HttpConnection.java:1115)
        at org.apache.commons.httpclient.HttpMethodBase.readStatusLine(HttpMethodBase.java:1832)
        at org.apache.commons.httpclient.HttpMethodBase.readResponse(HttpMethodBase.java:1590)
        at org.apache.commons.httpclient.HttpMethodBase.execute(HttpMethodBase.java:995)
        at org.apache.commons.httpclient.HttpMethodDirector.executeWithRetry(HttpMethodDirector.java:397)
        at org.apache.commons.httpclient.HttpMethodDirector.executeMethod(HttpMethodDirector.java:170)
        at org.apache.commons.httpclient.HttpClient.executeMethod(HttpClient.java:396)
        at org.apache.commons.httpclient.HttpClient.executeMethod(HttpClient.java:324)
        at com.companyname.mtix.sms.services.impl.message.SendTextMessage.sendTextMessage(SendTextMessage.java:127)
        at com.companyname.mtix.sms.services.MessageServiceImpl.sendTextMessage(MessageServiceImpl.java:125)
        at com.companyname.mtix.sms.services.remote.MessageServiceRemoteImpl.sendTextMessage(MessageServiceRemoteImpl.java:43)
        at sun.reflect.GeneratedMethodAccessor203.invoke(Unknown Source)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:585)
        at org.apache.axis.providers.java.RPCProvider.invokeMethod(RPCProvider.java:397)
        at org.apache.axis.providers.java.RPCProvider.processMessage(RPCProvider.java:186)
        at org.apache.axis.providers.java.JavaProvider.invoke(JavaProvider.java:323)
        at org.apache.axis.strategies.InvocationStrategy.visit(InvocationStrategy.java:32)
        at org.apache.axis.SimpleChain.doVisiting(SimpleChain.java:118)
        at org.apache.axis.SimpleChain.invoke(SimpleChain.java:83)
        at org.apache.axis.handlers.soap.SOAPService.invoke(SOAPService.java:453)
        at org.apache.axis.server.AxisServer.invoke(AxisServer.java:281)
        at org.apache.axis.transport.http.AxisServlet.doPost(AxisServlet.java:699) …

java sockets socketexception connection-reset

136
推荐指数
7
解决办法
81万
查看次数

端口使用Vagrant转发时连接重置

我有Vagrant/VirtualBox运行Ubuntu 12.04 LTS OS.我已将Vagrant配置为将来宾端口8000转发到我的主机端口8888.

[default] Preparing network interfaces based on configuration...
[default] Forwarding ports...
[default] -- 22 => 2222 (adapter 1)
[default] -- 8000 => 8888 (adapter 1)
[default] Booting VM...
[default] Waiting for VM to boot. This can take a few minutes.
[default] VM booted and ready for use! 
Run Code Online (Sandbox Code Playgroud)

当虚拟机启动时,我在端口8000上启动Django dev服务器.

Development server is running at http://127.0.0.1:8000/
Quit the server with CONTROL-C.
Run Code Online (Sandbox Code Playgroud)

好的,我可以把它放在后台,我甚curl localhost:8000至可以从服务器获得一些输出

<div id="explanation">
  <p>
    You're seeing this message because you have <code>DEBUG = True</code> …
Run Code Online (Sandbox Code Playgroud)

django portforwarding connection-reset vagrant ubuntu-12.04

29
推荐指数
1
解决办法
2万
查看次数

SQLRecoverableException:I/O异常:连接重置

昨天晚上,我离开了办公室,运行了一个由我编写的Java程序.它应该使用JDBC连接将大量记录插入到我们的公司数据库(Oracle)中.今天早上当我回来工作时,我看到了这个错误(由try-catch捕获):

java.sql.SQLRecoverableException: I/O Exception: Connection reset
Run Code Online (Sandbox Code Playgroud)

在得到这个问题之前,该程序几乎写了所有记录,但如果它发生得很早(我晚上离开办公室几分钟后)怎么办?我无法理解发生了什么,我联系了我的数据库管理员,他说数据库没有特别的问题.

关于发生了什么以及我可以做些什么来避免它的任何想法?

java oracle ioexception connection-reset

18
推荐指数
5
解决办法
11万
查看次数

ClientAbortException:java.net.SocketException:由peer重置连接:套接字写入错误

从数据库列中检索文件对象时,我经常收到以下错误.我该如何解决这个问题?

May 8, 2009 3:18:14 PM org.apache.catalina.core.StandardHostValve status
  WARNING: Exception Processing ErrorPage[errorCode=404, location=/error.jsp]
  ClientAbortException:  java.net.SocketException: Connection reset by peer: socket write error
  at org.apache.catalina.connector.OutputBuffer.doFlush(OutputBuffer.java:327)
  at org.apache.catalina.connector.OutputBuffer.flush(OutputBuffer.java:293)
  at org.apache.catalina.connector.Response.flushBuffer(Response.java:537)
  at org.apache.catalina.core.StandardHostValve.status(StandardHostValve.java:286)
  at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:136)
  at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
  at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
  at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
  at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:869)
  at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:664)
  at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527)        
  at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:80)
  at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684)
  at java.lang.Thread.run(Unknown Source)

Caused by: java.net.SocketException: Connection reset by peer: socket write error
  at java.net.SocketOutputStream.socketWrite0(Native Method)
  at java.net.SocketOutputStream.socketWrite(Unknown Source)
  at java.net.SocketOutputStream.write(Unknown Source)
  at org.apache.coyote.http11.InternalOutputBuffer.realWriteBytes(InternalOutputBuffer.java:746)
  at org.apache.tomcat.util.buf.ByteChunk.flushBuffer(ByteChunk.java:433)
  at org.apache.coyote.http11.InternalOutputBuffer.flush(InternalOutputBuffer.java:304)
  at org.apache.coyote.http11.Http11Processor.action(Http11Processor.java:991)
  at org.apache.coyote.Response.action(Response.java:182) …
Run Code Online (Sandbox Code Playgroud)

java tomcat socketexception connection-reset

17
推荐指数
2
解决办法
10万
查看次数

preg_match函数中的RegExp返回浏览器错误

以下函数打破了我在$ pattern变量中提供的正则表达式.如果我改变正则表达式我很好,所以我认为这是问题所在.但是,我没有看到这个问题,即使它们已经打开,我也没有收到标准的PHP错误.

function parseAPIResults($results){
//Takes results from getAPIResults, returns array.

    $pattern = '/\[(.|\n)+\]/';
    $resultsArray = preg_match($pattern, $results, $matches);

}
Run Code Online (Sandbox Code Playgroud)

Firefox 6:连接已重置

Chrome 14:错误101(net :: ERR_CONNECTION_RESET):连接已重置.

IE 8:Internet Explorer无法显示网页

更新:
Apache/PHP可能崩溃.这是我运行脚本时的Apache错误日志:

[2011年10月1日星期六11:41:40] [通知]父:子进程退出状态255 - 重新启动.
[2011年10月1日星期六11:41:40] [通知]配置Apache/2.2.11(Win32)PHP/5.3.0 - 恢复正常运行

在Windows 7上运行WAMP 2.0.

php regex apache wamp connection-reset

15
推荐指数
2
解决办法
1万
查看次数

javax.naming.CommunicationException: Connection reset [Root exception is java.net.SocketException: Connection reset]; 余名

尝试连接 LDAP 时出现套接字异常。这是我的示例代码。我在 java 8 中看到了这个问题。我从未在早期的 java 版本中观察到这个问题。

public static DirContext getDirectoryContext() throws NamingException {

        Properties env = new Properties();
        env.put(Context.INITIAL_CONTEXT_FACTORY,
                Common.getProperty("ldap.context.factory"));
        env.put(Context.PROVIDER_URL,
                Common.getProperty("ldap.provider.url"));
        env.put(Context.SECURITY_AUTHENTICATION,
                Common.getProperty("ldap.security.authentication"));
        env.put(Context.SECURITY_PRINCIPAL,
                Common.getProperty("ldap.security.principal"));
        env.put(Context.SECURITY_CREDENTIALS,
                Common.getProperty("ldap.security.credential"));
        context = new InitialDirContext(env);
        log.debug("NamingContext Initialized");
    return context;
}
context = getDirectoryContext();
Run Code Online (Sandbox Code Playgroud)

我对所有 LDAP 调用使用相同的上下文。

private NamingEnumeration getResultsFromLdap(String searchFilter) {
    NamingEnumeration results = null;
    try {
        // Getting the list from LDAP matching the given filter
        SearchControls sControls = new SearchControls();
        sControls.setSearchScope(SearchControls.SUBTREE_SCOPE);
        String baseContext = Common.getProperty("ldap.base.context");
        results = context.search(baseContext, searchFilter, …
Run Code Online (Sandbox Code Playgroud)

ldap socketexception connection-reset java-8

8
推荐指数
0
解决办法
4128
查看次数

连接由peer重置:套接字写错误 - 在Coldfusion 10上的cfcontent

我们最近从Coldfusion 9升级到CF10,我现在收到一个零星的错误,我正在使用cfcontent来提供文档(pdf,doc等)我正在使用cfcontent来控制对文件的访问,如有些仅供内部使用.使用CF9(两者都是标准版)时没有发生这种情况,我认为这可能与Tomcat的更改有关.

我无法重新创建错误,但它每天发生200次左右:

coldfusion.tagext.OutputException:此输出异常的原因是:ClientAbortException:java.net.SocketException:通过对等方重置连接:套接字写入错误

coldfusion tomcat connection-reset coldfusion-10

6
推荐指数
1
解决办法
7864
查看次数

获取"远程主机强行关闭现有连接".来自Azure

尝试按照Microsoft Azure的"事件中心入门"示例(http://azure.microsoft.com/en-us/documentation/articles/service-bus-event-hubs-csharp-ephcs-getstarted/#介绍),当我尝试运行或者接收或发送程序规定在那里,我得到以下异常:"现有的连接被强行关闭远程主机."

由于这是在尝试连接到Azure时,并且在Azure门户中,所有内容似乎都已到位(按照上面提到的示例),我被卡住了.

我在西欧的位置使用我的活动中心.

azure connection-reset azure-eventhub

6
推荐指数
1
解决办法
1213
查看次数

Javascript 套接字(失败:WebSocket 握手期间出错:net::ERR_CONNECTION_RESET)

我正在尝试创建一个简单的程序,以纯文本形式向套接字发送消息。发件人是使用 websocket 的 javascript 网页,服务器是 C 程序。我对 C 代码没有任何控制权,但代码所有者向我保证,我可以使用简单的 javascript 来发送消息。我的代码如下:

<!DOCTYPE HTML>
<html>
    <head>
        <script type="text/javascript">
            //initialize the websocket ws
            var ws; 
            //Open the socket connection
            function openSock() {
                //test for Websocket compatibility in the browser
                if ("WebSocket" in window) { 
                    // log socket attempt
                    console.log("Attempting to open socket!");
                    //open web socket ws
                    ws = new WebSocket("ws://192.168.6.222:11000/echo");
                } else { // else the browser doesn't support WebSocket
                    //Websocket is not supported
                    alert("APS NOT supported by your Browser!");
                }
            } …
Run Code Online (Sandbox Code Playgroud)

javascript websocket connection-reset

6
推荐指数
1
解决办法
3万
查看次数

如何复制对等方的连接重置?

我有一台服务器,日志中打印了以下内容

Caused by: java.io.IOException: Connection reset by peer
        at sun.nio.ch.FileDispatcherImpl.write0(Native Method)
        at sun.nio.ch.SocketDispatcher.write(SocketDispatcher.java:47)
        at sun.nio.ch.IOUtil.writeFromNativeBuffer(IOUtil.java:93)
        at sun.nio.ch.IOUtil.write(IOUtil.java:65)
        at sun.nio.ch.SocketChannelImpl.write(SocketChannelImpl.java:471)
        at org.apache.tomcat.util.net.NioChannel.write(NioChannel.java:134)
        at org.apache.tomcat.util.net.NioBlockingSelector.write(NioBlockingSelector.java:101)
        at org.apache.tomcat.util.net.NioSelectorPool.write(NioSelectorPool.java:157)
        at org.apache.tomcat.util.net.NioEndpoint$NioSocketWrapper.doWrite(NioEndpoint.java:1238)
        at org.apache.tomcat.util.net.SocketWrapperBase.doWrite(SocketWrapperBase.java:670)
        at org.apache.tomcat.util.net.SocketWrapperBase.flushBlocking(SocketWrapperBase.java:607)
        at org.apache.tomcat.util.net.SocketWrapperBase.flush(SocketWrapperBase.java:597)
        at org.apache.coyote.http11.Http11OutputBuffer.flushBuffer(Http11OutputBuffer.java:519)
        at org.apache.coyote.http11.Http11OutputBuffer.flush(Http11OutputBuffer.java:260)
        at org.apache.coyote.http11.Http11Processor.flush(Http11Processor.java:1494)
        at org.apache.coyote.AbstractProcessor.action(AbstractProcessor.java:279)
        at org.apache.coyote.Response.action(Response.java:168)
        at org.apache.catalina.connector.OutputBuffer.doFlush(OutputBuffer.java:317)
Run Code Online (Sandbox Code Playgroud)

我知道客户端由于某种原因关闭了连接,但服务器仍在写入数据。而此时客户端会返回复位标志“RST”,服务器的日志会得到Connection reset by peer

为了复制它,我让服务器休眠几秒钟,并创建了一个客户端,如下所示:

 private void executePostMethod() throws IOException, InterruptedException {
        Map<String, String> responseMap = new HashMap<>();
        String data = "{\"id\":\"XYZ123\",\"name\":\"John Doe\",\"accountNumber\":\"ABC123\"}";
        URL urlObject = new URL("\"http://localhost/v1/name/validate\"");
        System.out.println("Creating Connection");
        Socket socket = new …
Run Code Online (Sandbox Code Playgroud)

java connection-reset spring-boot

5
推荐指数
1
解决办法
7569
查看次数