基於.Net C# 通信開發-網絡調試助手

基於.Net C# 通信開發-網絡調試助手
1、概述

 


  網絡調試助手是集TCP/UDP服務端客戶端一體的網絡調試工具,可以幫助網絡應用設計、開發、測試人員檢查所開發的網絡應用軟硬件的數據收發狀況,提高開發的速度,是TCP/UDP應用開發助手。

  實全網絡調試助手是基於.net C# Socket 開發的網絡調試工具,實現TCP Server、TCP Client、UDP的連接通信,字符串和HEX數據收發功能。Socket即網絡套接字,應用程序可以通過它發送或接收數據,可對其進行像對文件一樣的打開、讀寫和關閉等操作。

2、UDP通信
  UDP是一個簡單的、面向數據報的無連接協議,提供快速但不一定可靠的傳輸服務。利用UDP協議可以使用廣播的方式同時向子網上所有設備發送數據,也可以使用組播的方式同時向網絡上的多少設備發送數據。UDP通信是不分服務端和客戶端的,通信雙方是對等的。編寫基於UDP協議的應用程序,關鍵在於如何實現數據的發送和接收。
  UDP通信主要功能包括:綁定本地端口、發送數據、接收數據。

2.1、綁定本地端口
  對於接收流入的UDP服務器程序來說,必須將程序與本地系統中指定的UDP端口進行綁定。

//Socket與本地的一個終結點相關聯
            IPEndPoint ipep = new IPEndPoint(IPAddress.Any, 9050);
            Socket socket = new Socket(AddressFamily.InterNetwork, SocketType.Dgram, ProtocolType.Udp);//定義一個Socket
            socket.Bind(ipep);

 

2.2、發送數據
  由於UDP協議不需要建立連接,因此可以在任何時間,直接向網絡中的任意主機發送UDP數據。通過調用Socket對象的SendTo方法直接將數據發送到遠程主機

//接收數據
            EndPoint remote = new IPEndPoint(IPAddress.Any, 0);//定義要發送的計算機的地址
            byte[] bytes = new byte[1024];
            int count = socket.ReceiveFrom(bytes, ref remote);
            Console.WriteLine(Encoding.ASCII.GetString(bytes, 0, count));

 

2.3、接收數據
  Socket對象的ReceiveFrom方法能夠在指定的本地IP地址和端口上接收數據,該方法帶一個引用類型的EndPoint實例,並接收到的數據作爲Byte數組返回。

//發送數據
            string welcome = "Welcome to my test server!";
            byte[] data = Encoding.ASCII.GetBytes(welcome);
            socket.SendTo(data, data.Length, SocketFlags.None, remote);

 

3、結語

  至此介紹完畢,本項目開源,源碼地址:https://gitee.com/ShiQuanSoft/ShiQuan.SocketHelper

  工具壓縮包地址:https://gitee.com/ShiQuanSoft/ShiQuan.SocketHelper/attach_files/1048902/download/ShiQuan.SocketHelper.zip

  不當之處,歡迎指正

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章