Пример #1
0
        private void Change(string change, string source)
        {
            EditorMessages newM = new EditorMessages(MSG_TYPE.NEW_TEXT, null, change);

            System.Messaging.Message msg = new Message(newM);
            msg.Formatter = new BinaryMessageFormatter();
            foreach (var pair in clients)
            {
                if (pair.Key != source)
                {
                    pair.Value.Send(msg);
                }
            }
            Console.WriteLine("Modificare: " + change);
        }
Пример #2
0
        private void OnMessageRecived(Object source, ReceiveCompletedEventArgs e)
        {
            MessageQueue mq = null;

            System.Messaging.Message m = null;
            try
            {
                mq = (MessageQueue)source;
                m  = mq.EndReceive(e.AsyncResult);
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.ToString());
            }

            EditorMessages msg = (EditorMessages)m.Body;

            switch (msg.Type)
            {
            case MSG_TYPE.NEW_TEXT:
                Change(msg.Text, msg.MessageSource);
                break;

            case MSG_TYPE.CLIENT_DISCONNECTED:
                RemoveClient(msg.MessageSource);
                break;

            case MSG_TYPE.NEW_CLIENT:
                AddClient(msg.MessageSource);
                break;
            }

            try
            {
                mq.BeginReceive();
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.ToString());
            }
        }