public static void Send(string user_id, string message = "") { lock (Users) { var conn_ids = Users.Where(p => p.Value == user_id).Select(u => u.Key).ToList(); if (conn_ids.Count() > 0) { DoSend(conn_ids, message); NLog.Info("发送消息:" + user_id + " " + message); } } }
private static void Subscribed(object _conn_id, string token) { NLog.Info("收到订阅:" + token); string conn_id = _conn_id.ToString(); string[] tokens = token.Split('-'); string msg = "1002"; if (tokens.Length == 3) { if (!Users.ContainsKey(conn_id)) { lock (Users) { Users.Add(conn_id, tokens[0]); } } msg = "1001"; } DoSend(conn_id, msg); }
public static void ThreadMQ() { using (NetMQSocket serverSocket = new ResponseSocket()) { serverSocket.Bind(ConfigurationManager.AppSettings["MQServer"]); while (true) { string message = serverSocket.ReceiveFrameString(); NLog.Info("收到请求:" + message); if (message.Contains("|")) { string[] items = message.Split('|'); MessageHub.Send(items[0], items[1]); serverSocket.SendFrame("ok"); } else { serverSocket.SendFrame("1"); } } } }