标签: socketexception

当客户端失去连接时,SignalR Owin Linux/Mono Socket上的自主机

我在ubuntu服务器14.04,mono 3.2.8上通过Owin运行非常简单的信号服务器.(以下代码).

连接/断开连接在远程Windows服务器和我将位部署到Linux服务器时都能正常工作.但是当客户端意外死亡而不是告诉信号器他正在断开连接时,那就是我只在linux服务器上得到一个永无止境的SocketException.Windows服务器在大约30秒左右后断开客户端,但是linux服务器每隔10秒左右就会发出socketexception(也在下面).

如何在运行相同的代码时使linux服务器像windows服务器一样,在设置超时后断开用户并且不抛出socketexceptions?

服务器代码:

using System;
using System.Threading.Tasks;
using Microsoft.AspNet.SignalR;
using Owin;

namespace signalrtestserver
{
    class Program
    {
        static void Main(string[] args)
        {
            var uri = System.Configuration.ConfigurationManager.AppSettings["startup_uri"] ?? "http://*:7890";
            using (Microsoft.Owin.Hosting.WebApp.Start<Startup>(uri))
            {
                Console.WriteLine(string.Format("Server started on {0}. Press enter to close.", uri));
                Console.ReadLine();
            }
        }
    }

    class Startup
    {
        static Hub hub;

        public void Configuration(IAppBuilder app)
        {
            app.UseCors(Microsoft.Owin.Cors.CorsOptions.AllowAll);
            var configuration = new HubConfiguration();
            configuration.EnableDetailedErrors = true;
            app.MapSignalR("/signalr", configuration);
            hub = new MyHub();
        }
    }

    public class MyHub : Hub
    { …
Run Code Online (Sandbox Code Playgroud)

c# linux mono socketexception signalr

7
推荐指数
2
解决办法
8662
查看次数

C#SocketException没有被捕获

我的代码中有一个非常奇怪的引用.我正在开发ac#chat客户端 - 服务器应用程序.当我关闭服务器时,我希望客户端自动关闭.客户端使用StremReader从TcpClient对象读取.客户端处于while循环中,它读取一行(StreamReader.ReadLine()),然后对其读取的行执行一些操作.当serever关闭时,我也关闭了tcp连接服务器端.所以,我期待客户端看到由readline引起的SocketException,捕获它并退出.但是例外不会被抓住!这是客户端循环代码:

 while (true)
 {
     try
     {
          ricev = read.ReadLine();
     }
     catch(SocketException exc)
     {
         //It never gets in here
     }
     chat.Invoke(showMessage, ricev);
 }
Run Code Online (Sandbox Code Playgroud)

当我关闭服务器时,visual studio告诉我在System.dll中引发了"System.Net.Sockets.SocketException"第一次机会异常,但我无法理解它.为什么会这样?我还尝试用a捕获任何一般异常

catch
{
}
Run Code Online (Sandbox Code Playgroud)

阻止,但这也不起作用.

任何帮助将不胜感激!

编辑:经过多次尝试后,我发现SocketException根本没有被提升.这是如此奇怪,正如我在评论中所说,在相反的情况下,当客户端在服务器之前关闭时,异常会被提升并且我可以解决它.我真的不知道发生了什么......

c# try-catch socketexception

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

在jboss-portal-2.7.2的部署阶段出现错误“ java.net.SocketException:打开的文件太多”

在日志消息中的某个位置启动jboss-portal-2.7.2时:

2013-01-30 20:32:02,541 ERROR [org.apache.tomcat.util.net.JIoEndpoint] Socket accept failed
java.net.SocketException: Too many open files
        at java.net.PlainSocketImpl.socketAccept(Native Method)
        at java.net.PlainSocketImpl.accept(PlainSocketImpl.java:408)
        at java.net.ServerSocket.implAccept(ServerSocket.java:462)
        at java.net.ServerSocket.accept(ServerSocket.java:430)
        at org.apache.tomcat.util.net.DefaultServerSocketFactory.acceptSocket(DefaultServerSocketFactory.java:61)
        at org.apache.tomcat.util.net.JIoEndpoint$Acceptor.run(JIoEndpoint.java:309)
        at java.lang.Thread.run(Thread.java:662)
Run Code Online (Sandbox Code Playgroud)

在deploy文件夹中,共有20个war模块。有什么办法吗?

java file-io jboss jboss-portal socketexception

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

创建新项目时android studio中出错

我尝试在Android studio中创建一个新项目时收到此错误消息:

Failed to import Gradle project: Error unmarshaling return header; 
nested exception is: java.net.SocketException: Connection reset
Run Code Online (Sandbox Code Playgroud)

java android socketexception gradle android-studio

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

java.net.SocketException:sendto failed:Android上的EPIPE(Broken pipe)

我试图从Android中的客户端读取服务器套接字中的数据.

以下是我正在使用的代码片段:

客户端(在JAVA的Android上)

    DataOutputStream dataOutputStream = null;
    DataInputStream dataInputStream = null;
    try {

        if (client.socket == null || !client.socket.isConnected())
            client.createSocket();

        // Get Input/Output stream for socket
        dataOutputStream = new DataOutputStream(client.socket.getOutputStream());
        dataInputStream = new DataInputStream(client.socket.getInputStream());

       // Here RS is simple JAVA class that stores information about payload and response length
        Log.d("Send", "Sending payload for pair " + RS.getc_s_pair() + " " + RS.getResponse_len());

        dataOutputStream.write(UtilsManager.serialize(RS.getPayload()));

        // Notify waiting Queue thread to start processing next packet
        if (RS.getResponse_len() > 0) {
            Log.d("Response", …
Run Code Online (Sandbox Code Playgroud)

python java sockets android socketexception

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

杀死被阻止的UDP套接字

假设我有一个在某个地址/端口上打开的UDP套接字,然后挂起.当我尝试UDPClient在同一个地址/端口上初始化一个新的UDP Socket()时,它会引发一个SocketException,因为它发现它已经在使用中.

是否有可能从代码中删除挂起的套接字,以便我可以重用它?

编辑:这是导致UDP保持阻塞的代码(显然)正常关闭UDPClient使套接字被阻止

c# sockets udpclient socketexception

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

Spark(使用Scala)抛出SocketException:连接重置和SocketTimeoutException:读取超时

我试图将(非常大的)序列化RDD对象加载到ec2节点集群的内存中,然后对这些对象进行一些提取并将生成的RDD存储在磁盘上(作为目标文件).不幸的是,我得到SocketException: Connection reset过一次SocketTimeoutException: Read timed out.

这是我的代码的相关部分:

val pairsLocation = args(0)
val pairsRDD = sc.objectFile[Pair](pairLocation)
// taking individual objects out of "Pair" objects (containing two of those simple objects)
val extracted = pairsRDD.filter(myFunc(_._1)).
      flatMap(x => List(x._1, x._2)).distinct
val savePath = "s3 URI"
extracted.saveAsObjectFile(savePath)
Run Code Online (Sandbox Code Playgroud)

以下是我得到的错误(警告)的详细信息:

15/03/12 18:40:27 WARN scheduler.TaskSetManager: Lost task 574.0 in stage 0.0 (TID 574, ip-10-45-14-27.us-west-2.compute.internal): 
java.net.SocketException: Connection reset
  at java.net.SocketInputStream.read(SocketInputStream.java:196)
  at java.net.SocketInputStream.read(SocketInputStream.java:122)
  at sun.security.ssl.InputRecord.readFully(InputRecord.java:442)
  at sun.security.ssl.InputRecord.readV3Record(InputRecord.java:554)
  at sun.security.ssl.InputRecord.read(InputRecord.java:509)
  at sun.security.ssl.SSLSocketImpl.readRecord(SSLSocketImpl.java:934)
  at sun.security.ssl.SSLSocketImpl.readDataRecord(SSLSocketImpl.java:891)
  at sun.security.ssl.AppInputStream.read(AppInputStream.java:102) …
Run Code Online (Sandbox Code Playgroud)

scala socketexception socket-timeout-exception apache-spark

6
推荐指数
0
解决办法
4946
查看次数

SSLSocket 双工关闭失败

我收到以下异常:

javax.net.ssl|DEBUG|79|Keep-Alive-Timer|2021-03-29 23:34:12.355 PDT|SSLSocketImpl.java:479|duplex close of SSLSocket<br>
javax.net.ssl|DEBUG|79|Keep-Alive-Timer|2021-03-29 23:34:12.356 PDT|SSLSocketImpl.java:1569|close the underlying socket<br>
javax.net.ssl|DEBUG|79|Keep-Alive-Timer|2021-03-29 23:34:12.356 PDT|SSLSocketImpl.java:1588|close the SSL connection (initiative)<br>
javax.net.ssl|DEBUG|79|Keep-Alive-Timer|2021-03-29 23:34:12.356 PDT|SSLSocketImpl.java:727|close inbound of SSLSocket<br>
javax.net.ssl|WARNING|79|Keep-Alive-Timer|2021-03-29 23:34:12.356 PDT|SSLSocketImpl.java:500|SSLSocket duplex close failed (
"throwable" : { 
    java.net.SocketException: Socket is closed
  at java.base/java.net.Socket.shutdownInput(Socket.java:1538)
      at java.base/sun.security.ssl.BaseSSLSocketImpl.shutdownInput(BaseSSLSocketImpl.java:216)
      at java.base/sun.security.ssl.SSLSocketImpl.shutdownInput(SSLSocketImpl.java:742)
      at java.base/sun.security.ssl.SSLSocketImpl.bruteForceCloseInput(SSLSocketImpl.java:692)
      at java.base/sun.security.ssl.SSLSocketImpl.duplexCloseOutput(SSLSocketImpl.java:553)
      at java.base/sun.security.ssl.SSLSocketImpl.close(SSLSocketImpl.java:485)
      at java.base/sun.net.www.http.HttpClient.closeServer(HttpClient.java:1058)
      at java.base/sun.net.www.http.KeepAliveCache.run(KeepAliveCache.java:183)
      at java.base/java.lang.Thread.run(Thread.java:834)
      at java.base/jdk.internal.misc.InnocuousThread.run(InnocuousThread.java:134)
}
Run Code Online (Sandbox Code Playgroud)

我真的很困惑这个错误是从哪里出现的。

java ssl socketexception

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

服务总线连接无法从本地控制台应用程序正常工作

我创建了一个 .net core 3.1 控制台应用程序来读取 azure 服务总线队列消息,并将 EXE 部署在客户端本地 VM 中。它最初可以工作,但现在不能在虚拟机上工作(现在也可以在本地计算机上工作)。我在本地虚拟机中执行 exe 时遇到超时(套接字异常)。我正在使用共享访问策略连接串来连接服务总线。

异常:Azure.Messaging.ServiceBus.ServiceBusException:连接尝试失败,因为连接方在一段时间后未正确响应,或者由于连接的主机无法响应而建立的连接失败。ErrorCode: TimedOut (ServiceCommunicationProblem) ---> System.Net.Sockets.SocketException (10060): 连接尝试失败,因为连接方在一段时间后没有正确响应,或者由于连接的主机未能响应而建立的连接失败。在 Microsoft.Azure.Amqp.Transport.TransportStream.EndRead(IAsyncResult asyncResult) 在 Microsoft.Azure.Amqp.Transport.TransportStream.<>c__DisplayClass22_0.b__1(IAsyncResult a) 在 System.Threading.Tasks.TaskFactory 1.FromAsyncCoreLogic(IAsyncResult iar, Func2 endFunction,操作1 endAction, Task1 承诺,布尔需要同步)

timeout socketexception azureservicebus azure-servicebus-queues

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

Jmeter-Java.Net.SocketException

我正在IIS上托管的Web应用程序上运行Jmeter脚本,并使用ADFS身份验证机制。对于Jmeter中的每个请求,由于“ Java.Net.SocketException”,因此失败。

我所做的是: 使用HTTP身份验证管理器从CSV数据配置元素为每个用户提供凭据。但似乎Jmeter仍未登录。

遵循了Jmeter HTTP授权管理器的文档,但看起来好像没有登录到应用程序

在Jmeter日志文件中-我看到的是:

org.apache.commons.httpclient.auth.AuthChallengeProcessor: ntlm authentication scheme selected 
2014/05/22 16:34:22 INFO  - org.apache.commons.httpclient.HttpMethodDirector: No credentials available for NTLM <any realm>@DomainName:PortNumber ..
2014/05/22 16:34:31 INFO  - jmeter.protocol.http.sampler.HTTPHC4Impl: HTTP request retry count = 1 
2014/05/22 16:34:31 INFO  - jmeter.protocol.http.sampler.HTTPHC4Impl: Setting up HTTPS TrustAll scheme 
2014/05/22 16:34:32 INFO  - org.apache.jmeter.protocol.http.sampler.HTTPHC4Impl$4: I/O exception (java.net.SocketException) caught when processing request: Connection reset 
2014/05/22 16:34:32 INFO  - org.apache.jmeter.protocol.http.sampler.HTTPHC4Impl$4: Retrying request 
2014/05/22 16:34:32 INFO  - org.apache.jmeter.protocol.http.sampler.HTTPHC4Impl$4: I/O exception (java.net.SocketException) caught when processing request: Connection …
Run Code Online (Sandbox Code Playgroud)

jmeter socketexception

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