有时我在向WebService执行HttpWebRequest时遇到以下错误.我也复制了下面的代码.
System.Net.WebException: Unable to connect to the remote server ---> System.Net.Sockets.SocketException: No connection could be made because the target machine actively refused it 127.0.0.1:80 at System.Net.Sockets.Socket.DoConnect(EndPoint endPointSnapshot, SocketAddress socketAddress) at System.Net.Sockets.Socket.InternalConnect(EndPoint remoteEP) at System.Net.ServicePoint.ConnectSocketInternal(Boolean connectFailure, Socket s4, Socket s6, Socket& socket, IPAddress& address, ConnectSocketState state, IAsyncResult asyncResult, Int32 timeout, Exception& exception) --- End of inner exception stack trace --- at System.Net.HttpWebRequest.GetRequestStream()
ServicePointManager.CertificatePolicy = new TrustAllCertificatePolicy();
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url);
request.PreAuthenticate = true;
request.Credentials = networkCredential(sla);
request.Method = WebRequestMethods.Http.Post;
request.ContentType = …Run Code Online (Sandbox Code Playgroud) .net c# socketexception system.net.webexception asp.net-web-api2
我们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) … 我试图从套接字读取时出现以下错误.我做了readInt()对InputStream,并且我得到这个错误.仔细阅读文档,这表明连接的客户端部分关闭了连接.在这种情况下,我是服务器.
我可以访问客户端日志文件并且它没有关闭连接,事实上它的日志文件建议我关闭连接.那么有人知道为什么会这样吗?还有什么要检查的?当有可能达到阈值的本地资源时,是否会出现这种情况?
我注意到我有以下几行:
socket.setSoTimeout(10000);
Run Code Online (Sandbox Code Playgroud)
就在之前readInt().这是一个原因(长篇故事),但只是好奇,是否存在可能导致指示错误的情况?我在我的IDE中运行了服务器,我碰巧让我的IDE卡在断点上,然后我注意到完全相同的错误开始出现在我自己的IDE中.
无论如何,只要提一下,希望不是红鲱鱼.:-(
我有一个WCF服务和一个Web应用程序.Web应用程序以连续的方式调用此WCF服务,即轮询.在我们的生产环境中,我很少收到此错误.因为,这是一个内部活动,用户不知道何时抛出此错误.
无法连接到 http://localhost/QAService/Service.svc.TCP错误代码10048:通常只允许使用每个套接字地址(协议/网络地址/端口)127.0.0.1:80.---> System.Net.WebException:无法连接到远程服务器---> System.Net.Sockets.SocketException:通常只允许使用每个套接字地址(协议/网络地址/端口)127.0.0.1 :80
我在dev/qa环境中重现这种行为时遇到了麻烦.我确保在try..catch..finally块中关闭客户端连接.仍然不明白是什么导致了这个问题..谁知道这个?
注意:我已经看过这个问题,但似乎没有回答我的问题,所以不是重复的问题.
我的LogCat读取:
08-19 09:29:01.964: WARN/System.err(311): java.net.SocketException: Permission denied
08-19 09:29:02.204: WARN/System.err(311): at org.apache.harmony.luni.platform.OSNetworkSystem.createStreamSocketImpl(Native Method)
08-19 09:29:02.214: WARN/System.err(311): at org.apache.harmony.luni.platform.OSNetworkSystem.createStreamSocket(OSNetworkSystem.java:186)
08-19 09:29:02.214: WARN/System.err(311): at org.apache.harmony.luni.net.PlainSocketImpl.create(PlainSocketImpl.java:265)
08-19 09:29:02.224: WARN/System.err(311): at java.net.Socket.checkClosedAndCreate(Socket.java:873)
08-19 09:29:02.224: WARN/System.err(311): at java.net.Socket.connect(Socket.java:1020)
08-19 09:29:02.224: WARN/System.err(311): at org.apache.harmony.luni.internal.net.www.protocol.http.HttpConnection.<init>(HttpConnection.java:62)
08-19 09:29:02.224: WARN/System.err(311): at org.apache.harmony.luni.internal.net.www.protocol.http.HttpConnectionPool.get(HttpConnectionPool.java:88)
08-19 09:29:02.224: WARN/System.err(311): at org.apache.harmony.luni.internal.net.www.protocol.http.HttpURLConnectionImpl.getHTTPConnection(HttpURLConnectionImpl.java:927)
08-19 09:29:02.224: WARN/System.err(311): at org.apache.harmony.luni.internal.net.www.protocol.http.HttpURLConnectionImpl.connect(HttpURLConnectionImpl.java:909)
08-19 09:29:02.234: WARN/System.err(311): at org.apache.harmony.luni.internal.net.www.protocol.http.HttpURLConnectionImpl.getInputStream(HttpURLConnectionImpl.java:1152)
08-19 09:29:02.234: WARN/System.err(311): at java.net.URL.openStream(URL.java:653)
08-19 09:29:02.244: WARN/System.err(311): at around.lowell.Main.onCreate(Main.java:57)
08-19 09:29:02.244: WARN/System.err(311): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047)
08-19 09:29:02.244: WARN/System.err(311): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2627)
08-19 09:29:02.244: …Run Code Online (Sandbox Code Playgroud) 我的应用程序需要通过http://127.0.0.1/...(localhost url)联系它正在处理的同一设备.
出于某种原因,当我到达那里有JSON内容的网站时,大约50%的时间(可能正好是50%),我得到例外:
java.net.SocketException:recvfrom失败:ECONNRESET(由对等方重置连接)
对于其他50%,我得到了非常好的结果.我试图进行民意调查(甚至民意调查之间的延迟很大),但我仍然得到同样奇怪的结果.
我搜索过互联网,也在这里,我不确定为什么会这样.对等方是否意味着客户端已经造成了这种情况?为什么会这样,我该如何处理?
一些网站说这是常见的事情,但我没有找到在这种情况下最好的事情.
Tomcat在Windows下运行webapp.几天之后(在非常低的负载下),标题中提到的异常开始出现在日志中,从那一点开始就无法建立新的连接,唯一的解决方法就是重启服务器.
环境:
到目前为止收集的证据:
开放式问题:
我没有想法,任何提示赞赏!
我无法让应用程序使用JavaMail API以比以前更自动化的方式发送一些文件.我是Java和NetBeans的新手,但是已经用其他语言编程了,所以如果我对Java和NetBeans有点遗失,请原谅我.
我一直收到这个错误
java.net.SocketException:权限被拒绝:连接
尝试连接到本地邮件服务器时.我已经通过gmail的SMTP服务器使用相同的代码成功连接和发送邮件,只需更改用户名,密码和端口.我也能成功telnet到我们的服务器并从端口25获得220响应.我还有一个运行的批处理文件,它通过我们的本地服务器成功发送电子邮件.关于为什么我无法连接的任何想法或想法JavaMail?
这是发送电子邮件的代码.
源代码:
public void sendEmail(String customerNumber, ArrayList fileList){
String from = "xxxx";
String username = "xxxx";
String to = "xxxx";
String host = "10.1.1.6";
String pwd = "xxxx";
String port = "25";
Properties props = System.getProperties();
props.put("mail.smtp.host", host);
props.put("mail.smtp.port", port);
props.put("mail.smtp.user", username);
props.put("mail.smtp.auth", "true");
props.put("mail.smtp.starttls.enable", "true");
props.put("mail.smtp.debug", "true");
props.put("mail.smtp.socketFactory.port", port);
props.put("mail.smtp.socketFactory.class", "javax.net.ssl.SSLSocketFactory");
props.put("mail.smtp.socketFactory.fallback", "false");
Session session = Session.getInstance(props, null);
session.setDebug(true);
MimeMessage message = new MimeMessage(session);
try{
message.setFrom(new InternetAddress(from));
message.setRecipients(Message.RecipientType.TO, to);
message.setSubject("Electronic Invoices");
BodyPart …Run Code Online (Sandbox Code Playgroud) 当我从服务器读取文件内容时,它返回以下错误消息:
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:215)
at org.apache.tomcat.util.buf.ByteChunk.flushBuffer(ByteChunk.java:462)
at org.apache.tomcat.util.buf.ByteChunk.append(ByteChunk.java:366)
at org.apache.coyote.http11.InternalOutputBuffer$OutputStreamOutputBuffer.doWrite(InternalOutputBuffer.java:240)
at org.apache.coyote.http11.filters.ChunkedOutputFilter.doWrite(ChunkedOutputFilter.java:119)
at org.apache.coyote.http11.AbstractOutputBuffer.doWrite(AbstractOutputBuffer.java:192)
at org.apache.coyote.Response.doWrite(Response.java:504)
at org.apache.catalina.connector.OutputBuffer.realWriteBytes(OutputBuffer.java:383)
... 28 more
Run Code Online (Sandbox Code Playgroud)
我的servlet程序是
response.setContentType("application/octet-stream");
response.setHeader("Content-Disposition","attachment;filename="+filename);
FileInputStream in = new FileInputStream(new File(filepath));
ServletOutputStream output=response.getOutputStream();
byte[] outputByte=new byte[4096];
while(in.read(outputByte,0,4096)!=-1){
output.write(outputByte,0,4096);//error indicates in this line
}
in.close();
output.flush();
output.close();
Run Code Online (Sandbox Code Playgroud)
如何解决这个问题?
我正在运行多个工作线程(大约10个)来访问redis Q中的数据.
因为我正在使用Jedis Client的 infinte timeout .
Jedis jedis = pool.getResource();
jedis.getClient().setTimeoutInfinite();
Run Code Online (Sandbox Code Playgroud)
我仍然收到错误"无法从池中获取资源".堆栈跟踪如下所示.
redis.clients.jedis.exceptions.JedisConnectionException: Could not get a resource from the pool
at redis.clients.util.Pool.getResource(Pool.java:22)
at Workers.Worker1.met1(Worker1.java:124)
at Workers.Worker1.work(Worker1.java:108)
at org.gearman.impl.worker.WorkerConnectionController$3.run(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
Caused by: redis.clients.jedis.exceptions.JedisConnectionException: java.net.SocketTimeoutException: connect timed out
at redis.clients.jedis.Connection.connect(Connection.java:124)
at redis.clients.jedis.BinaryClient.connect(BinaryClient.java:54)
at redis.clients.jedis.BinaryJedis.connect(BinaryJedis.java:1657)
at redis.clients.jedis.JedisPool$JedisFactory.makeObject(JedisPool.java:63)
at org.apache.commons.pool.impl.GenericObjectPool.borrowObject(GenericObjectPool.java:1188)
at redis.clients.util.Pool.getResource(Pool.java:20)
... 6 more
Caused by: java.net.SocketTimeoutException: connect timed out
at java.net.DualStackPlainSocketImpl.waitForConnect(Native Method)
at java.net.DualStackPlainSocketImpl.socketConnect(Unknown Source)
at java.net.AbstractPlainSocketImpl.doConnect(Unknown Source) …Run Code Online (Sandbox Code Playgroud) socketexception ×10
java ×5
android ×2
sockets ×2
.net ×1
asp.net ×1
c# ×1
connection ×1
inputstream ×1
jakarta-mail ×1
jedis ×1
jvm ×1
localhost ×1
networking ×1
peer ×1
redis ×1
servlets ×1
tomcat ×1
url ×1
wcf ×1
windows ×1