程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> C# >> C#入門知識 >> 閒來無事,寫個基於UDP協議的Socket通訊Demo

閒來無事,寫個基於UDP協議的Socket通訊Demo

編輯:C#入門知識

  項目一期已經做完,二期需求還沒定稿,所以最近比較閒。

  上一篇寫的是TCP協議,今天寫一下UDP協議。TCP是有連接協議,所以發送和接收消息前客戶端和服務端需要建立連接;UDP是無連接協議,所以發送消息前不需要建立連接,只需向指定的網絡端點發送消息即可,不管端點是否存在都可以發送,無論消息是否到達端點都不關心,接收消息前也不需要建立連接,只需要在本地綁定的端口上接收就可以了,UDP沒有明確的客戶端和服務端。

  程序是基於命令行的,啟動一個實例之後根據界面提示輸入本地端口號、遠程IP、遠程端口號即可,可以啟動多個實例互相通訊。

  程序啟動之後首先根據輸入的本地端口號綁定本地端口,其次啟動一個線程接收本地端口的數據,然後界面上提示輸入消息,輸入完成則發送到遠程IP和遠程端口號,界面上再次提示輸入消息……

  運行效果圖:

  localPoint =  IPEndPoint( socket =  socket.Bind(localPoint);

  

  啟動線程執行數據接收:

 
  Show();

  數據接收細節:

  
   
  
    OnReceive(      
           socket = obj           (socket ==                 
          (              
                   receiveBuffer =  [                 
                 EndPoint remotePoint =  IPEndPoint(IPAddress.Any,                   receiveLength = socket.ReceiveFrom(receiveBuffer,                                                                                      }

   循環執行數據發送:

 
      
          Show(,           msg =          
         EndPoint sendPoint =           sendLength =                   }  ();

  本人才疏學淺,歡迎大家批評指正!

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved