原文地址:http://blog.csdn.net/dingkun520wy/article/details/49201245
(一)Socket(套接字)UDP協議的特點
1、是基於無連接的協議,沒有生成連接的延遲所以速度比TCP快;
2、支持一對一和一對多連接,可以使用廣播的方式多地址發送;
3、與Tcp的報頭比是8:20,所以UDP消耗的網絡帶寬少;
4、傳輸的數據有消息邊界,Tcp沒有;
(二)發送
//定義發送字節區
byteSendingArray = new byte[100];
//定義網絡地址
iep = new IPEndPoint(IPAddress.Parse("127.0.0.1"), 1001);
//創建socket
socketClient = new Socket(AddressFamily.InterNetwork, SocketType.Dgram, ProtocolType.Udp);
//發送數據
EndPoint ep = (EndPoint)iep;
string strMsg = "要發送的數據";
//字節轉換
byteSendingArray = Encoding.Default.GetBytes(strMsg);
//發送
socketClient.SendTo(byteSendingArray, ep);
(三)接收
//定義接受數據區
byteArray_Receive = new byte[100];
//定義網絡地址
iep_Recieve = new IPEndPoint(IPAddress.Parse("127.0.0.1"), 1001);
//創建socket
socketServer = new Socket(AddressFamily.InterNetwork, SocketType.Dgram, ProtocolType.Udp);
//綁定地址
socketServer.Bind(iep_Recieve);
//接受數據
EndPoint ep = (EndPoint)iep_Recieve;
//接收到數據
int intReceiveLength = socketServer.ReceiveFrom(byteArray_Receive, ref ep);
//轉換數據為字符串
string strReceiveStr = Encoding.Default.GetString(byteArray_Receive, 0, intReceiveLength);
