Unity3d之Socket UDP協議


原文地址: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);
           


 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM