C#中使用UdpClient類進行簡單通訊的例子

來源:互聯網
上載者:User

標籤:style   blog   color   使用   os   資料   ar   div   

UdpClient 類提供了一些簡單的方法,用於在阻止同步模式下發送和接收無串連 UDP 資料報。 因為 UDP 是無串連傳輸協議,所以不需要在發送和接收資料前建立遠程主機串連。但您可以選擇使用下面兩種方法之一來建立預設遠程主機:

  • 使用遠程主機名稱和連接埠號碼作為參數建立 UdpClient 類的執行個體。

  • 建立 UdpClient 類的執行個體,然後調用 Connect 方法。

可以使用在 UdpClient 中提供的任何一種發送方法將資料發送到遠程裝置。 使用 Receive 方法可以從遠程主機接收資料。 

UdpClient 方法還允許發送和接收多路廣播資料報。 使用 JoinMulticastGroup 方法可以將 UdpClient 預訂給多路廣播組。 使用 DropMulticastGroup 方法可以從多路廣播組中取消對 UdpClient 的預訂。 


/// <summary>/// 用戶端/// </summary>class UDPSender{ static void Main(string[] args) { //建立一個UdpClient對象,0表示系統自動分配傳送埠 UdpClient udpSender = new UdpClient(0); //串連到服務端指定連接埠 udpSender.Connect("localhost", 11000); //把訊息轉換成位元組流發送到服務端 byte[] sendBytes = Encoding.ASCII.GetBytes("Is anybody there?"); udpSender.Send(sendBytes, sendBytes.Length); //關閉連結 udpSender.Close(); }}
/// <summary>/// 服務端/// </summary>class UDPReceive{    static void Main(string[] args)    {        //建立一個UdpClient對象,11000為接收埠        UdpClient udpReceive = new UdpClient(11000);        //設定遠程主機,(IPAddress.Any, 0)代表接收所有IP所有連接埠發送的資料        IPEndPoint remoteIpEndPoint = new IPEndPoint(IPAddress.Any, 0);//或IPEndPoint remoteIpEndPoint = null;        //監聽資料,接收到資料後,把資料轉換成字串並輸出        byte[] receiveBytes = udpReceive.Receive(ref remoteIpEndPoint);        string returnData = Encoding.ASCII.GetString(receiveBytes);        Console.WriteLine("This is the message you received " + returnData.ToString());        Console.WriteLine("This message was sent from " + remoteIpEndPoint.Address.ToString() + " on their port number " + remoteIpEndPoint.Port.ToString());                    //關閉串連        udpReceive.Close();    }}

備忘:需要先運行服務端,再運行用戶端。否則用戶端在服務端運行之前就已經發出資料,則服務端不會接收到資料。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.