gpt4 book ai didi

c# - 使用 websocket-sharp for .NET 服务器如何关闭 WebSocketBehavior?

转载 作者:太空狗 更新时间:2023-10-29 21:56:56 35 4
gpt4 key购买 nike

我正在尝试使用 websocket-sharp对于一个项目,服务器需要能够断开 websocket 连接。

连接由您继承的 WebSocketBehavior 类表示。 WebSocketBehavior 上没有StopCloseDisconnect 方法。我能找到的最接近的是

WebSocketBehavior.Context.WebSocket.Close

所以我尝试向我的覆盖类添加一个方法

public class MySocket : WebSocketBehavior
{
public void Close()
{
base.Context.WebSocket.Close();
}
}

但是当打开日志记录时会导致错误

2/5/2016 7:08:25 PM|Error|WebSocket.Close|This operation isn't available in: closed

服务器如何断开/关闭 WebSocket 连接?

最佳答案

their repo 中的票证所述

你只需要关闭相关 session :

 Sessions.CloseSession(ID);

编辑:

它与 OP 的代码相同,但通过正确的抽象 调用,这在理论上应该可行,但事实上他试图从“低级别”访问内容,这让我怀疑他访问其他内部功能都绕过了“公共(public)方法”,这可能会导致错误的行为(比如“公共(public)方法”调用的东西不再起作用,我建议你只从适当的抽象中访问所有内容以避免问题,之后,如果问题仍然存在,你应该在原始存储库中请求修复错误。这样的错误不能在那里修复,因为需要了解你编写的所有其他代码。

之后,您应该使用日志文件跟踪客户端和服务器端,以发现发生了什么,例如连接已被客户端关闭(如 Evk 在评论中所述)

关于c# - 使用 websocket-sharp for .NET 服务器如何关闭 WebSocketBehavior?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35237869/

35 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com