我正在通过WebSocket上运行的Chrome开发工具协议从C#/。NET应用程序连接到Chrome开发工具。我发现,如果30秒钟内没有发送/接收任何消息,chrome会终止连接,我会收到以下WebSocketException:
System.Net.WebSockets.WebSocketException:
The remote party closed the WebSocket connection without completing the close handshake.
有没有办法让Chrome终止连接?一些保持活动的优雅方法,而无需每x秒手动发送空白消息? 我正在使用System.Net.WebSockets中的标准WebSocket并像这样进行连接:
var socket = new ClientWebSocket();
socket.ConnectAsync(new Uri(target.webSocketDebuggerUrl),CancellationToken.None).Wait();
谢谢
答案 0 :(得分:0)
标准.NET ClientWebSocket不支持手动ping。但是,可以通过以下属性进行设置:
ClientWebSocket.ClientWebSocketOptions.KeepAliveInterval
默认值为30秒,这是套接字关闭后的同一时间。将其设置为非常高的值会使问题消失。不幸的是,我仍然不确定这个问题的细节以及.NET中的保持活动如何工作。