private Task StartUDPListener(CancellationToken token) { return(Task.Factory.StartNew(() => { UdpClient listener = new UdpClient(5556); listener.EnableBroadcast = true; while (!token.IsCancellationRequested) { IPEndPoint endpoint = new IPEndPoint(IPAddress.Any, 5556); byte[] message = listener.Receive(ref endpoint); Chat.Model.Message msg = default(Chat.Model.Message); XmlSerializer serializer = new XmlSerializer(typeof(Chat.Model.Message)); using (Stream memStream = new MemoryStream(message)) { memStream.Position = 0; msg = serializer.Deserialize(memStream) as Chat.Model.Message; memStream.Close(); } if (msg != null) { AppendToTextBox($"{msg.From} : {msg.Msg}"); LogMessageToFile($"{msg.From} : {msg.Msg}"); } } }, token)); }
private void btnSend_Click(object sender, EventArgs e) { Chat.Model.Message msg = new Chat.Model.Message(txtAlias.Text, txtMessage.Text); _client = new TcpClient("localhost", 5555); using (Stream networkStream = _client.GetStream()) using (StreamWriter sw = new StreamWriter(networkStream)) { sw.Write(msg.Serialize()); sw.Close(); } txtMessage.Text = ""; txtMessage.Focus(); }