C#UDP(接收和发送源码)源码完整 最近做了一个UDP 的服务接收和发送的东西。希望能对初学的朋友一点帮助。 源码如下: 一。逻辑--UdpServer.cs using System; using System.Net; using System.Net.Sockets; using System.Threading; using System.Diagnostics; using System.Windows.Forms; using System.Collections.Generic; using System.Xml.Linq; using PitchServer.po; namespace PitchServer.vo { class UdpServer { #region 构造方法 public UdpServer():this(50000,1024){} public UdpServer(ushort port):this(port,1024) { _Port = port; } public UdpServer(ushort port,uint bufferSize) { _Port = port; _bufferSize = bufferSize; } #endregion #region 属性 ushort _Port = 50000; public ushort Port { get { return _Port; } } uint _bufferSize = 1024; public uint BufferSize { get{return _bufferSize;} } bool m_IsRunning; public bool IsRunning { get{return m_IsRunning;} } public static Socket m_UdpServer { get; set; } string Ip_Address = ""; #endregion Thread m_DataReceiveProcThread; public static List IpAddress = new List(); #region 事件定义 public delegate void OnReceivedDataHandler(object sender,DataReceivedEventArgs e); public event OnReceivedDataHandler OnRecivedData; public delegate void OnStateChangedHandler(object sender,ServerStateChangeEventArgs e); public event OnStateChangedHandler OnStateChanged; #endregion void DataReceiveProc() { while(m_IsRunning) { try { byte[] data = new byte[BufferSize]; m_UdpServer.Receive(data); IPEndPoint ep = new IPEndPoint(IPAddress.Any, (int)Port); EndPoint senderRemote = (EndPoint)ep; m_UdpServer.ReceiveFrom(data, ref senderRemote); ep = (IPEndPoint)senderRemote; Ip_Address=ep.Address.ToString(); bool isexit = false; for (int i = 0; i < IpAddress.Count; i++) { if (Ip_Address == IpAddress[i].IPaddress) { isexit = true; } } if (!isexit) { Client cl = new Clie...