Chrome开发者工具协议-闲置30秒后,Chrome杀死websocket

时间:2018-11-22 11:48:14

标签: c# google-chrome google-chrome-devtools

我正在通过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();

谢谢

1 个答案:

答案 0 :(得分:0)

标准.NET ClientWebSocket不支持手动ping。但是,可以通过以下属性进行设置:

ClientWebSocket.ClientWebSocketOptions.KeepAliveInterval

默认值为30秒,这是套接字关闭后的同一时间。将其设置为非常高的值会使问题消失。不幸的是,我仍然不确定这个问题的细节以及.NET中的保持活动如何工作。