UDP 服务端
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Text; using System.Windows.Forms; using System.Threading; using System.Net; using System.Net.Sockets; namespace UDPServer { public partial class Form1 : Form { public Form1() { InitializeComponent(); } // bool isTrue = false; // Thread thrRecv; UdpClient udpcRecv; //开始监听 private void button1_Click(object sender, EventArgs e) { if (!isTrue) { IPEndPoint localIpep = new IPEndPoint(IPAddress.Parse("127.0.0.1"), 8848); udpcRecv = new UdpClient(localIpep); thrRecv = new Thread(ReceiveMessage); thrRecv.Start(); isTrue = true; ShowMessage(textBox1, "UDP监听器已经成功启动"); } else { thrRecv.Abort(); udpcRecv.Close(); isTrue = false; ShowMessage(textBox1,"UDP监听器已经成功关闭"); } } private void ReceiveMessage(object obj) { IPEndPoint remoteIPep = new IPEndPoint(IPAddress.Any,0); while (true) { try { byte[] byteRecv = udpcRecv.Receive(ref remoteIPep); string message = Encoding.Unicode.GetString(byteRecv, 0, byteRecv.Length); ShowMessage(textBox1,string.Format("{0}{1}",remoteIPep,message)); } catch (Exception ex) { ShowMessage(textBox1, ex.Message); break; } } } delegate void ShowMessageDelegate(TextBox txtbox, string message); private void ShowMessage(TextBox txtbox, string message) { if (txtbox.InvokeRequired) { ShowMessageDelegate showMessageDelegate = ShowMessage; txtbox.Invoke(showMessageDelegate, new object[] { txtbox, message }); } else { txtbox.Text += message + "\r\n"; } } } }
目前还在学习中,希望会对大家有所帮助,觉得不错,就点赞支持一下。
另外,转载时请附带链接。谢谢!

浙公网安备 33010602011771号