问题标签 [socketexception]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
5 回答
95097 浏览

c# - WSACancelBlockingCall 异常

好的,我的代码抛出了一个奇怪的异常,这一直困扰着我多年。

MSDN 对此并没有太大帮助:http: //msdn.microsoft.com/en-us/library/ms741547 (VS.85).aspx我什至不知道如何开始解决这个问题。它每天只抛出 4 或 5 次,而且从不在我们的测试环境中。仅在生产地点和所有生产地点。

我发现很多帖子都在询问这个异常,但没有关于导致它的原因以及如何处理或防止它的实际明确答案。

代码在单独的后台线程中运行,方法开始:

然后我运行一个循环,将所有新连接作为作业放在单独的线程池中。由于应用程序架构,它变得更加复杂,但基本上:

从那里开始,pool它拥有自己的线程,分别处理自己线程中的每个作业。

我的理解是 AcceptTcpClient() 是一个阻塞调用,并且 winsock 以某种方式告诉线程停止阻塞并继续执行..但是为什么呢?我该怎么办?只是捕获异常并忽略它?


好吧,我确实认为其他一些线程正在关闭套接字,但它肯定不是来自我的代码。我想知道的是:此套接字是由连接客户端(在套接字的另一侧)关闭还是由我的服务器关闭。因为此时此刻,每当发生此异常时,它都会关闭我的侦听端口,从而有效地关闭我的服务。如果这是从远程位置完成的,那么这是一个主要问题。

或者,这是否只是 IIS 服务器关闭了我的应用程序,从而取消了我所有的后台线程和阻塞方法?

0 投票
13 回答
940699 浏览

java - java.net.SocketException:连接重置

我在尝试从套接字读取时收到以下错误。我正在做一个readInt()InputStream我收到了这个错误。仔细阅读文档,这表明连接的客户端部分关闭了连接。在这种情况下,我是服务器。

我可以访问客户端日志文件并且它没有关闭连接,实际上它的日志文件表明我正在关闭连接。那么有人知道为什么会这样吗?还有什么要检查的?当当地资源可能达到阈值时,是否会出现这种情况?


我确实注意到我有以下行:

就在readInt(). 这是有原因的(长篇故事),但只是好奇,是否存在可能导致指示错误的情况?我在我的 IDE 中运行服务器,我碰巧让我的 IDE 卡在断点上,然后我注意到完全相同的错误开始出现在我自己的 IDE 日志中。

无论如何,只是提一下,希望不是红鲱鱼。:-(

0 投票
14 回答
967896 浏览

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

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

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

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

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


我们的组件是一个 Web 应用程序,在 Tomcat 下运行,它调用发送 SMS 消息的第三方 Web 服务,它就是这样发生的。引发异常的代码行是下面代码片段的最后一行。

0 投票
1 回答
1185 浏览

c# - 连接时 Windows XP 家庭版上的 SocketException:提供了一个无效的参数

我们的软件需要连接到服务器,我们使用 TCPclient 来实现。50 多个系统(所有 Windows XP 专业版)都在使用该软件,并且连接没有问题。该软件还已经在 windows vista 和 Windows 7 beta 上进行了测试。

今天有一些外部人员在这里进行培训,其中一个人有一台装有Windows XP Home版的笔记本电脑,它无法连接到服务器,并使用 SocketExeption“提供了一个无效的参数”。(Windows 套接字异常代码:10022)

但是,当我们尝试在同一台笔记本电脑上远程登录到该 ip 和端口时,我们可以建立连接。

连接代码非常基础:

我们必须在 Windows XP Home 版上设置任何额外的套接字选项吗?

关于他的系统:Windows XP Home edition version 2002 Service pack 2 一个激活的网卡:Broadcom 440x 10/100 Integrated Controller

0 投票
2 回答
7441 浏览

c# - 如何修复此 SocketException

我有一个循环打开一个套接字,作用于套接字,然后关闭套接字并重新启动。但是,在我得到的第二次迭代SocketException中,每个套接字地址(协议/网络地址/端口)通常只允许使用一次。
但是,套接字应该关闭,netstat -a并不表明我正在侦听该端口或其他任何东西。抛出异常的代码是:

但是,我认为罪魁祸首不是那个代码,就在我得到那个代码之前,在我尝试关闭连接之前,我得到了这个:

一旦我关闭程序并再次运行它,它可以使第一个连接正常,第二个行为相同(SocketException)。有谁知道我该如何解决这个问题?

0 投票
1 回答
2295 浏览

java - Java:在套接字上重新连接有时会出错

我正在制作原型客户端和服务器,以便了解如何处理重新连接。服务器应该创建一个 serversocket 并永远监听。客户端可以连接、发送其数据并关闭其套接字,但它不会向服务器发送“我完成并关闭”类型的消息。出于这个原因,由于远程客户端已经关闭,服务器在执行 aEOFException时会得到 a。readByte()在 的错误处理程序中EOFException,它将关闭套接字并打开一个新套接字。

这就是问题所在:即使在成功打开套接字/输入流/输出流之后,客户端有时也会SocketWriteError在调用时得到一个。outputStream.write()这可能与我打开和关闭这些套接字的频率有关。一件有趣的事情是客户端在退出之前会执行任意数量的写入/关闭/重新连接。有时会在第一次重新连接时出错,有时需要 50 次重新连接才能看到SocketWriteError.

这是客户端的错误:

以下是一些代码片段:

服务器:

客户:

有谁知道如何正确重新连接?

0 投票
4 回答
118483 浏览

java - ClientAbortException: java.net.SocketException: Connection reset by peer: socket write error

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

0 投票
1 回答
4389 浏览

.net - 为什么我不能为 Sql Server Reporting Services 强制使用 SSL?

我正在尝试在 Windows Server 2008 上设置 SSRS 2008。当我通过 HTTP 访问 Web 界面时,它似乎按预期工作,但是在使用 HTTPS 时,我得到以下错误:“底层连接已关闭:发生意外错误在发送中。”

从日志文件中可以看出,内部异常是“System.Net.Sockets.SocketException:现有连接被远程主机强行关闭”。这让我想到,错误发生在从报表管理器到 Web 服务的服务调用期间。

我已经使用使用我自己的 CA 证书签名的证书在非默认端口 (8091) 上配置了具有 SSL 绑定的 Web 服务和报表管理器。服务器证书安装在 IIS7 中(并由其使用),并且 CA 证书被添加到“本地计算机”证书存储中的“受信任的根证书颁发机构”中。

如果客户端应用程序是我自己的 .NET 应用程序,则在网络上搜索特定的错误消息给了我很多关于如何处理问题的信息。最流行的解决方案似乎是将属性“ServicePointManager.SecurityProtocol”设置为“SecurityProtocolType.Ssl3”,但我想当客户端是预编译的 Web 应用程序(报表管理器)时,我不可能这样做。

有任何想法吗?

更新:请求现在失败,HTTP 状态 401:未授权。” 日志文件中的堆栈跟踪告诉我,SoapHttpClientProtocol.ReadResponse 发生异常,我希望在 SOAP 处理中比我遇到的错误“晚”前。

有什么新想法吗?

0 投票
3 回答
5456 浏览

java - 套接字意外关闭

我正在为服务器编写测试程序。在测试应用程序中,我尝试将大量客户端连接到服务器,但一段时间后会出现如下各种错误:

或者

或者

我为连接到服务器的每个客户端使用一个新套接字。

有人可以告诉我这种奇怪的行为吗?

0 投票
1 回答
873 浏览

windows-mobile - Windows Mobile Wi-Fi 适用于 IE,但不适用于我的应用程序 (SocketException)

我一直在尝试将 Wi-Fi 连接添加到我的 Windows Mobile 6.1 .NET CE 3.5 应用程序,但无法弄清楚为什么会出现以下 SocketException:

连接尝试失败,因为连接的一方在一段时间后没有正确响应,或者连接失败,因为连接的主机没有响应

在 System.Net.Sockets.Socket.ConnectNoCheck(EndPoint remoteEP) 在 System.Net.Sockets.Socket.Connect(EndPoint remoteEP) 在 System.Net.Connection.doConnect(IPEndPoint ep) 在 System.Net.Connection.connect(Object忽略)在 System.Threading.ThreadPool.WorkItem.doWork(Object o) 在 System.Threading.Timer.ring()

错误代码 10060(连接超时)

尽管 IE 具有完美的连接性。IE 和我的应用程序都可以通过底座和 GPRS 连接正常工作。

有任何想法吗?