예제 #1
0
파일: Client.cs 프로젝트: radtek/EMIP
 private PushMessageCollection GetMessages()
 {
     lock (this._syncRootMessageQueue)
     {
         PushMessageCollection messages = new PushMessageCollection();
         while (this.messageQueue.Count > 0)
         {
             messages.Add(this.messageQueue.Dequeue());
         }
         return(messages);
     }
 }
예제 #2
0
        public void PushMessage(string clientid, BPMObjectNameCollection uids, string[] channels, YZMessage message, bool broadcast)
        {
            JObject jmessage = JObject.FromObject(message);

            PushMessageCollection pushMessages = new PushMessageCollection();

            foreach (string channel in channels)
            {
                PushMessage pushmessage = new BPM.PushMessage(clientid, uids, channel, jmessage);
                pushmessage.Broadcast = broadcast;
                pushMessages.Add(pushmessage);
            }

            using (BPMConnection cn = new BPMConnection())
            {
                cn.WebOpen();
                cn.Push(pushMessages);
            }
        }