我正在使用Microsoft.WebSockets并在向特定客户端发送消息时遇到问题。目前我已经使用了WebSocketCollection对象并在其上添加了每个新客户端。它允许向所有客户端广播消息。但我想向特定的单一信息发送消息,即信号器提供从服务器向特定客户端发送消息,即
Hub.Clients.Client(connectionId).yourClientSideMethod()
我想使用Microsoft.WebSockets实现相同的功能。我在互联网上搜索了很多,但无法找到任何解决方案。请帮帮我。
我的代码如下:
class ChatWebSocketHandler : WebSocketHandler
{
private static WebSocketCollection _chatClients = new WebSocketCollection();
private string _username;
public ChatWebSocketHandler(string username)
{
_username = username;
}
public override void OnOpen()
{
_chatClients.Add(this);
}
public override void OnMessage(string message)
{
//for broadcasting messages to all clients
//_chatClients.Broadcast(this._username + " : " + message);
//for sending message to individual client i want something like
_chatClients.Single(x=>x._username.Equals("name")).Send(message);
}
public override void OnClose()
{
// Free resources, close connections, etc.
base.OnClose();
}
}
答案 0 :(得分:1)
试试这个
clients.SingleOrDefault(r => ((SocketHandler)r).userName == "udara").Send("Hello udara");