Fleck WebSockets

Ser*_*pov 4 .net c# websocket

我想将Fleck用于我的WebSocket项目,服务器端看起来非常简单,但如何区分打开的连接.有某种身份证吗?我能想到的唯一方法是在OnOpen事件中创建GUID并将其传递回客户端.有更聪明的解决方案吗?

基本服务器设置:

socket.OnOpen = () =>
{
    Console.WriteLine("Open!"); 
    allSockets.Add(socket);
};

socket.OnClose = () =>
{
    Console.WriteLine("Close!");
    allSockets.Remove(socket);
};

socket.OnMessage = message =>
{
    Console.WriteLine(message);
    allSockets.ToList().ForEach(s => s.Send("Echo: " + message));
};
Run Code Online (Sandbox Code Playgroud)

EG如何建立一个聊天室,以便所有连接都接收除了发送之外的消息.

Fleck服务器在这里:https://github.com/statianzo/Fleck

sta*_*son 6

Fleck现在为每个连接的客户端在WebSocketConnectionInfo上创建一个Guid Id.这将有助于多个连接使用相同的IP.在此处查看相关提交:

https://github.com/statianzo/Fleck/commit/fc037f49362bb41a2bc753a5ff51cc9da40ad824