Unity3d之Socket UDP協議

原文地址:http://blog.csdn.net/dingkun520wy/article/details/49201245網絡

(一)Socket(套接字)UDP協議的特色socket

一、是基於無鏈接的協議,沒有生成鏈接的延遲因此速度比TCP快;spa

二、支持一對一和一對多鏈接,能夠使用廣播的方式多地址發送;.net

三、與Tcp的報頭比是8:20,因此UDP消耗的網絡帶寬少;code

四、傳輸的數據有消息邊界,Tcp沒有;blog


(二)發送ci

 

//定義發送字節區
        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);
           
相關文章
相關標籤/搜索