項目一期已經做完,二期需求還沒定稿,所以最近比較閒。
上一篇寫的是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 = } ();
本人才疏學淺,歡迎大家批評指正!