[C#] UDP Socket

static Socket client = null;

//[连接]

client = new Socket(AddressFamily.InterNetwork, SocketType.Dgram, ProtocolType.Udp);
try
{
client.Bind(new IPEndPoint(IPAddress.Parse(LocalIP.Text.Trim()), int.Parse(LocalPort.Text.Trim())));
client.Connect(IPAddress.Parse(DevIP.Text.Trim()), int.Parse(DevPort.Text.Trim()));
RecordClientInfo("[客户端报告]连接服务器成功!");
}
catch (Exception)
{
RecordClientInfo("[客户端报告]连接服务器失败!");
return;
}

if (threadClientRev == null)
threadClientRev = new Thread(ClientRev);
threadClientRev.IsBackground = true;
threadClientRev.Start();

//[发送]

client.Send(buffer);

//[接收]

 

private void ClientRev()
{
UInt32[] info_error = new UInt32[22]; ;
while (!cancelTokenSource.IsCancellationRequested)
{
try
{ //定义一个1M的内存缓冲区,用于临时性存储接收到的消息
byte[] arrRecvmsg = new byte[1024 * 1024];
//将客户端套接字接收到的数据存入内存缓冲区,并获取长度
int length = client.Receive(arrRecvmsg);
//将套接字获取到的字符数组转换为人可以看懂的字符串
byte [] bufrcs= new byte[length];for (int i = 0; i < length; i++)
{
bufrcs[i] = arrRecvmsg[i];
}

}

}