问题标签 [disconnect]

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 投票
3 回答
8382 浏览

c# - 异步读取期间 TcpClient 断开连接

我有几个关于完成 tcp 连接的问题。

  1. 客户端使用 Tcp 连接到我的服务器,在接受客户端后 listener.BeginAcceptTcpClient(ConnectionEstabilishedCallback, null);,我开始使用networkStream.BeginRead(....).
    当我等待消息时客户端断开连接会发生什么?(例如,它失去了电源、互联网等)
    我怎么知道它什么时候发生?

  2. 如果读取成功后,我做一些事情,然后调用networkStream.Close(); client.Close();客户端会看到什么?如何“优雅地”终止连接?

  3. 如果我正在等待读取(使用 BeginRead),然后(在不同的线程上)关闭同一个流,会发生什么?

编辑添加:我在客户端和服务器之间确实有一条乒乓消息。够了吗?如果我没有收到 ping,请终止我的 NetworkStream?肯定有更好的东西。

0 投票
2 回答
2618 浏览

python - 正确断开多处理远程管理器

当使用multiprocessingManager 对象创建服务器并远程连接到该服务器时,客户端需要保持与远程服务器的连接。如果服务器在客户端关闭之前就消失了,客户端将永远尝试连接到服务器的预期地址。

在服务器消失后,我在尝试退出的客户端代码上遇到了死锁,因为我的客户端进程永远不会退出。

如果我del在服务器关闭之前我的远程对象和我的客户端管理器,该过程将正常退出,但是在使用后立即删除我的客户端的管理器对象和远程对象不太理想。

这是我能做的最好的吗?是否有另一种(更合适的)方法可以断开与远程管理器对象的连接?在服务器关闭和/或连接丢失后,有没有办法干净地退出客户端?

我知道 socket.setdefaulttimeout 不适用于多处理,但是有没有办法专门为多处理模块设置连接超时?这是我遇到问题的代码:

更新这在多处理中被破坏了。连接超时需要在套接字级别发生(并且套接字需要是非阻塞的才能做到这一点),但非阻塞套接字会破坏多处理。如果远程服务器不可用,则无法处理放弃建立连接。

0 投票
1 回答
347 浏览

tcp - Tomcat NIO/RESTEasy 在每次请求后断开 TCP

我通过 NIO 连接器在 Tomcat 6 上使用 RESTEasy 异步(彗星)IO 支持。目前,在将每个响应发送回客户端后,服务器都会丢弃 TCP 连接。

我读过的关于 Tomcat 的 HTTP 连接器配置的所有文档都表明它应该默认保持连接处于活动状态,所以我对问题所在感到困惑。

这是我的连接器配置:

感谢您的任何建议!

0 投票
2 回答
3258 浏览

java - 在断开连接的套接字上写入不会抛出

笔者:

使用如下:

这是客户端代码。当它的服务器断开套接字(也是java代码)时,为什么客户端只会在5-10分钟后抛出?它不应该在第一次尝试覆盖死连接时抛出吗?

谢谢

编辑:

关闭服务器后,以下是 TCP 状态:

编辑2:

客户端是一个安卓应用程序。从电话跑出来,第二个写入的数据包导致抛出。从模拟器(Mac 下面)运行第四个 write() 将抛出。

0 投票
2 回答
4018 浏览

java - 如何正确检测 servlet 规范 3 中的客户端断开连接?

我已尝试写入响应,因为没有适当的断开回调:

但这似乎不是诀窍。当客户端断开连接时,写入和刷新缓冲区没有抛出异常

奇怪的是,第二次尝试写入输出流时(断开连接后),写入确实会引发异常。看起来你第一次写/刷新它时,一些内部状态被设置为错误,没有通知。

我在 Jetty 8 和 Tomcat 7 上都试过了,我看到了同样的行为。

有没有办法查明客户端是否收到了消息?我错过了什么吗?

0 投票
1 回答
3419 浏览

delphi - Delphi:在超时时停止 idHTTP 工作

我愿意idHTTP.Get('http://example.com/1.zip', FStream);

服务器没有响应......并且 idHTTP 等待连接以下载文件

我需要停止 idHTTP 工作。如果它已连接,我可以做到idHTTP1.Disconnect

但是如果 idHTTP 未连接,超时,idHTTP 等待连接 -> 我们正在等待,等待,然后会引发超时异常(我需要在此等待时间内停止工作) . 所以我做不到idHTTP1.Disconnect。如果这样做,not connected则会引发异常,因为我们没有连接。

如何在等待连接时停止工作而无一例外?

谢谢!

0 投票
1 回答
496 浏览

node.js - 断开连接后的 Socket.io 套接字数据可用性

当 socket.io (node.js) 触发 socket 断开事件时,socket 的数据还能使用多久?

如果我有一个异步返回数据的存储(如 redis),仍然执行查找是否安全?

我需要获取套接字的所有数据,以便在套接字断开连接时保存套接字的状态。

非常感谢。

0 投票
1 回答
249 浏览

file-upload - extjs 文件上传 - 如何处理与互联网或网络断开连接

我们正在使用 extjs 表单将文件上传到文件服务器(我们有一个 FileUploadHandler.ashx 来处理 bakcend 端的文件)

我的问题是,如果在上传过程中意外用户与网络/互联网断开连接,extjs 可以处理/抛出异常吗

提前致谢。

0 投票
1 回答
339 浏览

macos - 用于断开屏幕顶部菜单栏中的无线键盘的 Apple 脚本

我正在尝试使用 Applescript 断开我的无线键盘。

我想出了这个带有 UI 浏览器的脚本:

但是,我收到以下错误:

我在这里做错了什么,我该如何解决?

0 投票
2 回答
3123 浏览

ios - 没有报告 iOS XMPP 在后台断开连接

当应用程序处于后台并且 xmpp 由于互联网中断而断开连接时,如果互联网恢复正常,当我打开应用程序时,不会进行断开连接,因此应用程序不会尝试重新连接。

如果我检查 xmppstream 已连接,则显示为是。当我返回应用程序时,如何检查连接是否仍然存在?

目前我正在尝试断开连接,并在每次应用唤醒时连接。但理想的是检测断开连接......

谢谢