public void Set(TextMessage msg)
 {
     if (this.Dispatcher.CheckAccess())
     {
         if (msg.enumCommand == Command.Msg)
         {
             receiveBox.Text += msg.strName + ":" + msg.strMessage + "\n";
         }
         else if (msg.enumCommand == Command.List)
         {
             roomusers_lbox.Items.Clear();
             string[] users = msg.strMessage.Split('*');
             for (int i = 0; i <= users.Length - 1; i++)
             {
                 roomusers_lbox.Items.Add(users[i]);
             }
         }
         else if (msg.enumCommand == Command.Draw)
         {
             drawShapes.recieveDrwingBytes(msg.ToByte(), this.paintcanvas);
         }
         else if (msg.enumCommand == Command.Join)
         {
             receiveBox.Text += msg.strMessage + "\n";
         }
         else if (msg.enumCommand == Command.Left)
         {
             receiveBox.Text += msg.strMessage + "\n";
         }
     }
     else
     {
         this.Dispatcher.BeginInvoke(new SetCallBack(Set), msg);
     }
 }
示例#2
0
        public void Send(TextMessage msg)
        {
            List <ArraySegment <byte> > m = new List <ArraySegment <byte> >();

            m.Add(new ArraySegment <byte>(msg.ToByte()));
            SocketEventArgs.BufferList = m;
            socket.SendAsync(SocketEventArgs);
        }