par*_*tkr 3 c# asp.net websocket
我正在编写一个websocket处理程序,它应该从一个客户端向另一个客户端发送消息.
码
public class SocketHandler : WebSocketHandler
{
private static WebSocketCollection clients = new WebSocketCollection();
private int id;
public override void OnOpen()
{
this.id = Convert.ToInt32(Cypher.Decrypt(this.WebSocketContext.QueryString["id"]));
clients.Add(this);
}
public override void OnMessage(string message)
{
//sending code here
}
}
Run Code Online (Sandbox Code Playgroud)
我知道是否需要向所有连接的客户端发送消息,我只需要做:
clients.Broadcast("message");
...但我需要的是发送给具有特定客户端的特定客户端,Id从查询字符串中分配给它 - 让我们说1156.
如何id=1156从客户端集合中获取客户端?
我尝试使用lambda表达式,但它不起作用.它应该很简单......我之前在LINQ做过类似的事情,但此时我完全迷失了.
我终于设法通过客户搜索特定客户端并专门向他发送消息.
clients.SingleOrDefault(r => ((SocketHandler)r).id == 1156).Send("Hey 1156!");
Run Code Online (Sandbox Code Playgroud)
你只需要做typecast,然后通常的查询工作正常.
| 归档时间: |
|
| 查看次数: |
4152 次 |
| 最近记录: |