如何将数据从Web套接字服务器发送到客户端?

时间:2016-05-27 21:37:19

标签: sockets websocket websocket-sharp

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

var service = new WebSocketCustomerImageService();

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

服务类:

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

这很好用,服务器在客户端发送任何消息时响应,但现在,我希望服务器发送消息而不需要客户端发送任何消息。 Send()方法似乎仅在WebSocketBehavior类上可用,并且我没有直接实现此WebSocketCustomerImageService类。

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

1 个答案:

答案 0 :(得分:3)

好的解决了:

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

这会向"My data"

的所有客户发送/customerImageService