title: Non-Blocking UDP-Client Receive Thread-Safe Call
body: <p>I have been looking for a solution to this problem for ages. I have tried many things, including BeginReceive(), but all to no avail. There must be a way to do this, make a UDP-Client receive call that is non blocking AND thread safe. I am trying to receive a message and write it to a Rich Text Box.</p>
  
  <pre><code>using System;
  using System.Collections.Generic;
  using System.ComponentModel;
  using System.Data;
  using System.Drawing;
  using System.Linq;
  using System.Text;
  using System.Windows.Forms;
  using System.Net;
  using System.Net.Sockets;
  using System.Threading;
  using System.IO;
  
  namespace Chat
  {
      public partial class Form1 : Form
      {
          public bool contfunctioning = true; public bool changedsplay = false;
          public string enteredchats, msg, chatstring, Chats;
  
          UdpClient subscriber = new UdpClient(8899);
          UdpClient publisher = new UdpClient("230.0.0.100", 8898);
  
  
          public Form1()
          {
              InitializeComponent();
          }
  
  
          private void btnConnect_Click(object sender, EventArgs e)
          {
  
              string ConnectIPAddress;
              ConnectIPAddress = txtboxIP.Text;
              IPAddress addr = IPAddress.Parse(ConnectIPAddress);
  
              MessageBox.Show("Subscribing to chat server on " + ConnectIPAddress + ".", ConnectIPAddress);
  
              EndPoint ep = null;
  
              // This is where The UDPClient subscriber needs to Begin.Receive()
  
  
          }
  
          private void btnSend_Click(object sender, EventArgs e)
          {
              enteredchats = txtboxUsr.Text + " " + txtboxentertxt.Text;
              txtboxentertxt.Clear();
  
              msg = String.Format(enteredchats);
              sdata = Encoding.ASCII.GetBytes(msg);
              publisher.Send(sdata, sdata.Length);
          }
  
      }
  }
  </code></pre>
  
  <p>Enough code, yes? 
  Thanks in advance for all responses.</p>