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); }
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()); } }