天天看點

C#套接字互相通信一、C#控制台程式,利用UDP套接字與室友電腦通信二、C#視窗程式,利用form視窗實作消息通信三、使用wireshake捕捉通信過程中的包四、總結

目錄

  • 一、C#控制台程式,利用UDP套接字與室友電腦通信
  • 二、C#視窗程式,利用form視窗實作消息通信
  • 三、使用wireshake捕捉通信過程中的包
  • 四、總結

一、C#控制台程式,利用UDP套接字與室友電腦通信

首先在VS2019中選擇建立一個控制台應用程式,然後一台電腦作為服務端,另一台作為用戶端(一台電腦自己通信也可以,但是無法使用wireshake進行抓包)

下面是服務端

C#套接字互相通信一、C#控制台程式,利用UDP套接字與室友電腦通信二、C#視窗程式,利用form視窗實作消息通信三、使用wireshake捕捉通信過程中的包四、總結

這個是用戶端

C#套接字互相通信一、C#控制台程式,利用UDP套接字與室友電腦通信二、C#視窗程式,利用form視窗實作消息通信三、使用wireshake捕捉通信過程中的包四、總結

注意:用戶端與服務端需要連接配接入同一區域網路下,并且用戶端需要手動輸入服務端ip位址

結果如下

C#套接字互相通信一、C#控制台程式,利用UDP套接字與室友電腦通信二、C#視窗程式,利用form視窗實作消息通信三、使用wireshake捕捉通信過程中的包四、總結

二、C#視窗程式,利用form視窗實作消息通信

首先在VS2019中建立C#視窗程式

C#套接字互相通信一、C#控制台程式,利用UDP套接字與室友電腦通信二、C#視窗程式,利用form視窗實作消息通信三、使用wireshake捕捉通信過程中的包四、總結
C#套接字互相通信一、C#控制台程式,利用UDP套接字與室友電腦通信二、C#視窗程式,利用form視窗實作消息通信三、使用wireshake捕捉通信過程中的包四、總結

服務端代碼

C#套接字互相通信一、C#控制台程式,利用UDP套接字與室友電腦通信二、C#視窗程式,利用form視窗實作消息通信三、使用wireshake捕捉通信過程中的包四、總結

用戶端代碼

C#套接字互相通信一、C#控制台程式,利用UDP套接字與室友電腦通信二、C#視窗程式,利用form視窗實作消息通信三、使用wireshake捕捉通信過程中的包四、總結

實作通信結果為

C#套接字互相通信一、C#控制台程式,利用UDP套接字與室友電腦通信二、C#視窗程式,利用form視窗實作消息通信三、使用wireshake捕捉通信過程中的包四、總結

三、使用wireshake捕捉通信過程中的包

C#套接字互相通信一、C#控制台程式,利用UDP套接字與室友電腦通信二、C#視窗程式,利用form視窗實作消息通信三、使用wireshake捕捉通信過程中的包四、總結

在wireshake顯示的資訊我們可以得出:

1.使用的協定是UDP協定

2.頭部包含目的IP和源IP,資料通過這兩個資訊來進行傳輸

3.互相發送資料的時間大緻相同,Len=的值在相同類型的傳輸中基本相等

4.一共收到71bytes,但真正的資料隻有29bytes,其餘的都是頭部尾部的位址值以及協定内容

四、總結

這次在實作互相通信的問題上,遇到了不小的麻煩,在下次建立通信的過程中會直接檢視防火牆設定等影響互相通信的系統設定,會更加的節省時間。這次使用了UDP協定進行互相通信,還是收獲比較大。