Websocket关闭与c#客户端和Node.js服务器的握手



我使用了" closeoutputasync ";

在c#客户端启动与Node.js服务器的亲密握手。我的Node.js服务器收到一个"关闭"事件并立即设置其websocket.readyState"作为"CLOSED"没有经过"关闭"。

当我的c#客户端发送亲密握手时,他将自己的状态设置为"CloseSent"

问题是我的c#保持在这个状态,而我的Node.js服务器认为websocket连接是关闭的。

如何检测连接正在"关闭"?我可以使用ws库的哪个功能向c#客户端发送确认,以确保他的状态从"CloseSent";Closed">

?我使用标准的" was "和标准的System.Net.WebSockets"在c#。

我终于找到解决办法了。

当c#客户端启动关闭时,他应该用"CloseAsync"而不是"closeoutputasync"。node.js服务器立即将websocket状态设置为"已关闭";没有经历过"关闭"状态(从未找到触发此"关闭"的方法)。状态),但是c#客户端将他的状态设置为"Closed"

如果node.js服务器正在启动关闭,那么c#客户端应该使用"closeoutputasync"。c#客户端状态从Open ->CloseReceived→CloseSent→关闭。

相关内容

  • 没有找到相关文章

最新更新