C# WinForm实现UDP发送和接收数据

1引入

using System.Net;
using System.Net.Sockets;
using System.IO;

2 具体实施 建立两个winform项目,1)UDP发送端 2)UDP接收端

1)UDP发送

private void button1_Click(object sender, EventArgs e)

        {
            UdpClient udpClient = new UdpClient(10001);

            udpClient.Connect(IPAddress.Parse("192.168.0.64"), 1002);

            Byte[] sendBytes = Encoding.Default.GetBytes("发送的字符串");

            udpClient.Send(sendBytes,sendBytes.Length);
            
            udpClient.Close();
        }

    }


2)UDP接收

 public partial class Form1 : Form
    {
        Thread MyThread;
        TcpListener tcpListener;
        //public int xx;
        //public delegate void MyInvoke();
        public Form1()
        {
            InitializeComponent();
        
        }
     
        private void Form1_Load(object sender, EventArgs e)
        {
            Form1.CheckForIllegalCrossThreadCalls = false;
            MyThread = new Thread(new ThreadStart(ReceiveDataFromUDPClient));
            MyThread.IsBackground = true;
            MyThread.Start();
          

        }

        public void ReceiveDataFromUDPClient()
        {
            while (true)
            {
                UdpClient udpClient = new UdpClient(1002);

                 //传递到 ref 参数的参数RemoteIpEndPoint必须最先初始化


                IPEndPoint  RemoteIpEndPoint = new IPEndPoint(IPAddress.Any, 0); // 括号里是应用程序连接到主机上的服务所需的主机和本地或远程端口信息


                Byte[] receiveBytes = udpClient.Receive(ref RemoteIpEndPoint);

                 //接收到的receiveBytes转化为字符串
                string returnData = Encoding.Default.GetString(receiveBytes);

                
                textBox1.Text = DateTime.Now +"----"+ returnData.ToString();
                udpClient.Close();
            }
        }

}



你可能感兴趣的:(C# WinForm实现UDP发送和接收数据)