如何从 web socket 服务器向客户端发送数据?

How to send data from web socket server to client?

我开始使用 WebSocketSharp 创建一个简单的 WebSocket 服务器。这个简单的代码一切都很好:

var service = new WebSocketCustomerImageService();

var serverSocket = new WebSocketServer("ws://localhost:2000");
serverSocket.AddWebSocketService<WebSocketCustomerImageService>("/customerImageService");
serverSocket.Start();

服务class:

    public class WebSocketCustomerImageService : WebSocketBehavior
    {
        protected override void OnMessage(MessageEventArgs e)
        {
            Send("Hello from the other side!");
        }        
    }

这很好用,客户端发送任何消息时服务器都会响应,但现在,我希望服务器无需客户端发送任何消息即可发送消息。 Send() 方法似乎只能在 WebSocketBehavior class 上使用,我没有直接实例化这个 WebSocketCustomerImageService class.

如何访问创建的实例以使用 Send() 方法或实现此目的的正确方法是什么?

好的解决方法是:

serverSocket.WebSocketServices["/customerImageService"].Sessions.Broadcast("My data");

这会将 "My data" 发送到所有监听 /customerImageService

的客户端