Example #1
0
 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);
         }
     }
 }
Example #2
0
        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);
        }
Example #3
0
 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");
             }
         }
     }
 }