Ejemplo n.º 1
0
 public void Receive()
 {
     while (true)
     {
         byte[] recivcedata = udp.Receive(ref point);
         string str         = Encoding.ASCII.GetString(recivcedata, 0, recivcedata.Length);
         char   head        = str[0];
         string body        = str.Substring(1);
         if (head.Equals('q')) // quit
         {
             break;
         }
         else if (head == 'p')
         {
             ParamMessage msg = JsonUtility.FromJson <ParamMessage>(body);
             Monitor.Enter(messages);
             if (messages.Count < 1024)
             {
                 messages.Enqueue(msg);
             }
             Monitor.Exit(messages);
         }
         else if (head == 'm')
         {
             Debug.Log(body);
         }
     }
     Quit();
 }
Ejemplo n.º 2
0
        public ParamMessage FetchMessage()
        {
            Monitor.Enter(messages);
            ParamMessage msg = null;

            if (messages.Count > 0)
            {
                msg = messages.Dequeue();
            }
            Monitor.Exit(messages);
            return(msg);
        }