问题标签 [disconnection]

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 投票
1 回答
567 浏览

c# - 如果与 MySQL 服务器的连接丢失,是否可以创建事件并处理它?

假设我有我的客户端应用程序,它与 MySQL 服务器建立连接。极好的。我没有把它作为一个线程来实现。我只是利用 MySQLConnection 类。

现在让我们说,对办公室非常粗心的 Jim 在没有事先征求许可的情况下意外地重新启动了 MySQL 服务器。

我想知道何时发生断开连接,以便客户端应用程序知道并且用户不会收到很多错误。

我可以想出几种方法来检查这一点,但我不知道它们是否会起作用,即使它们的设计很优雅。我想知道你们认为最合适的方式是什么。

  • 将连接实现为线程并每 x 秒检查一次(如果可能的话)
  • 当连接断开时创建并处理一个事件(有点依赖于上面的一点)
  • 也许我什至不知道 MySQL 连接器库中内置了一个事件
  • 其他一些我不知道的神秘暗码

很感谢任何形式的帮助。

编辑:这个问题已在评论中得到回答。谢谢阅读。

0 投票
1 回答
174 浏览

sockets - 同一台机器上端点之间的套接字连接

当套接字连接的两个端点驻留在同一台机器上时(在这种情况下为 Wintel),彼此之间的消息会遍历 NIC 卡、网络介质,然后返回 NIC/机器,最后到达另一个终点?

我问的原因是,当没有人调用套接字关闭时(据我们所知),端点报告了一些无法解释的套接字断开连接。这也可能是由于一些间歇性网络问题吗?

0 投票
1 回答
1473 浏览

c# - 如何检测 Socket 断开连接?

我在 Silverlight 3 中使用异步套接字模式实现了一项任务。我从Michael Schwarz 的实现开始并在此基础上构建。所以基本上,我的 Silverlight 应用程序会建立到设备的持久套接字连接,然后数据会根据需要在设备和 Silverlight 应用程序之间双向流动。

我正在努力解决的一件事是如何检测断开连接。我可以想到两种方法:

  1. 活着。我知道这可以在套接字级别完成,但我不确定如何在异步模型中执行此操作。Socket 类如何让我知道已断开连接。

  2. 手动保活。基本上,我让 Silverlight 应用程序每 20 秒左右发送一个虚拟数据包。如果失败,我会假设断开连接。然而,令人难以置信的是,SocketAsyncEventArgs.SocketError 总是报告成功,即使我只是简单地拔下 Silverlight 应用程序所连接的设备。我不确定这是一个错误还是什么,或者我可能需要升级到 SL4。

任何想法、方向或实施将不胜感激。

0 投票
6 回答
76675 浏览

android - 断开Android中的蓝牙插座

我正在开发一个程序,在该程序中,我必须从 Android 手机作为客户端连接到蓝牙医疗传感器。我使用的是官方的蓝牙 API,在连接过程中没有问题(SPP 配置文件),但是当我结束套接字时,传感器仍然连接到我的手机(虽然我已经关闭了连接)。

有什么方法可以断开蓝牙连接?我认为有一个名为 ACTION_ACL_CONNECTED 的意图,它可以做到这一点。谁能解释我如何使用它?

提前致谢。

已编辑:这是代码,如果有人需要更多信息,它是 Nonin 4100 医疗传感器。

0 投票
1 回答
1010 浏览

objective-c - 丢失连接时 ASIHTTPRequest 没有错误

我正在下载文件(使用 apache tomcat 6.0.32)。当我断开连接(关闭 tomcat)时,有时 ASHITTPRequest 会产生错误,但有时(大多数情况下完全正确...所有时间完全正确!只有在开始时没有连接时才会发生错误)它会像所有正确的一样结束工作。

所以有一个问题:为什么会发生这种情况,如果连接正确丢失,我该如何查看。

非常感谢!

更新:

尝试通过 TCPMon 发送请求,然后停止它(TCPMon)并得到相同的结果: ASIHTTPRequest 认为下载正确完成。

更新:

响应头:

响应状态消息:

更新:

如果手动断开计算机(断开电缆)并得到这个:

有时 ASIHTTPRequest 会等到超时,然后下一个请求会出现连接错误。

有时错误发生在我断开连接的时候。

有时错误不会及时发生我断开连接:下载进度丢失并且(如果再次建立连接)文件从头开始下载。

如果关闭端口 ASIHTTPRequest 认为下载成功。

看不懂这个逻辑。。。

解决方案:

我通过比较标头中的 Content-Length 和读取的总字节数来解决问题:

所以我可以检查我是否得到了所有数据,如果没有:保持错误。在其他情况下(如手动断开连接)ASIHTTPRequest 以适当的方式工作并自行生成错误。

0 投票
1 回答
547 浏览

java - 检测 Socket 断开连接

我有一个 Socket 连接到我 LAN 上的另一台设备。当我从 AC 上拔下设备时,如何检测断开连接。线程被阻塞在:

0 投票
1 回答
61 浏览

windows - 是否有阻止访问远程计算机的应用程序(模拟断开连接)?

是否有一些应用程序(带有 GUI)可以让我暂时阻止对某些远程机器的访问?

我的代码访问一个远程文件夹,我想模拟几秒钟与该服务器的断开连接。

我不想玩遥控器上的共享文件夹或开始玩我的机器网络配置,这更复杂。

0 投票
1 回答
602 浏览

c# - 为什么 TcpListener 会泄漏 ESTABLISHED 连接?

我有一个应用程序正在监听来自大约 30 辆汽车中调制解调器的消息。我使用 TcpListener 来实现如下所示的服务器代码(省略了错误处理):

我正确收到消息,我的问题在于断开连接。每 12 小时调制解调器重置并获得一个新的 IP 地址,但服务器继续保持旧连接处于活动状态(它们在 tcpview 中标记为 ESTABLISHED)。有没有办法为旧连接设置超时?我认为通过关闭 TcpClient 来关闭 TCP 连接(这就是在我的本地测试中发生的情况),我做错了什么?

0 投票
1 回答
629 浏览

c++ - 拔下以太网电缆和从操作系统禁用以太网网络之间的区别

我正在尝试使我的程序对网络断开具有鲁棒性。现在,如果我从操作系统禁用以太网网络(我在 Ubuntu 11.10 上,但我想这不重要),一旦网络再次启用,我的套接字就会恢复并且一切正常。

从现在开始,我认为这个测试与拔掉以太网电缆是一样的。但事实并非如此,因为我的程序在执行此操作时突然终止。

我想知道这两种情况有什么区别,以及如何检测它们。我正在使用来自 Qt 和 C++ 的 QTcpSockets。

另外,当不再检测到wifi时,我想这相当于拔掉以太网电缆,而在操作系统上禁用它相当于禁用以太网。我对吗?

0 投票
2 回答
1436 浏览

c# - 检测 SslStream 套接字断开连接

我在包装套接字的 NetworkStream 之上使用 SslStream,在这种情况下如何检测套接字断开连接。

换句话说,我想检测远程客户端是否关闭了连接。