1

我正在使用 Chrome Websockets 连接到 C# 服务器应用程序,chrome 似乎在任意基础上中止连接,并且在 C# 服务器上抛出异常,The communication object cannot be used for communication because it has been Aborted.

我一直在听说未观察到的异常,显然我必须以某种方式捕获它们,有什么指示吗?

4

1 回答 1

2

插座死了;相对而言,web-sockets 相当频繁地死掉(基于我们的一些 web-socket 服务器上发生的情况)。重新“未观察到的异常” - 诀窍很简单:观察它们。如果您定期发送心跳消息,您可能会发现您的网络套接字更加稳定。较新的 web-sockets API 实际上包含一个用于该确切目的的特殊框架,但 IIRC 一些浏览器不尊重它,所以我只使用一个小的常规消息。然后,您可以使用相同的心跳来检查僵尸连接:如果您将客户端编码为始终响应心跳,并且每(例如)5 分钟发送一次心跳,您可以简单地终止任何连接十多分钟没有回复你:他们是僵尸。

于 2013-06-17T20:35:52.170 回答