//处理WebSocket消息路由 private void HandleMessage(WebSocket_Msg msg) { var client = WebSocket_Coons.Get(msg.SendClientId); switch (msg.Action.ToLower()) { case "@*join*@": client.Channel = msg.MsgStr; break; case "@*leave*@": //置空Channel,模拟关闭连接 client.Channel = ""; client.WebSocket.CloseAsync(WebSocketCloseStatus.NormalClosure, "", CancellationToken.None); WebSocket_Coons.Remove(client); break; default: break; } WebSocket_Server.HandleMsg_Event(msg); }
public static Task SendMessageAsync(string coonID, string msgStr, string action = "", string msgTag = "") { WebSocket_Coon coon = WebSocket_Coons.Get(coonID); return(SendMessageAsync(coon, msgStr, action, msgTag)); }