初學了Socket通訊,想就此自己重頭開始做一個網絡調試助手,以檢驗下學習成果。寫篇筆記來記錄這個過程,供大家一起學習,部分內容來源網絡!
文章分為2個部分,第一部分用自己的語言介紹下socket和TCP,第二部分主要講網絡助手源碼。
TCP在工業自動化的通訊方案中占據了90%的成分,學會、理解TCP是非常重要的。而Socket的建立才能讓TCP動起來,沒有socket,TCP就無法去運作。簡而言之可以這樣去理解:“TCP/IP只是一個協議棧,就像操作系統的運行機制一樣,必須要具體實現,同時還要提供對外的操作接口。這個就像操作系統會提供標准的編程接口,比如win32編程接口一樣,TCP/IP也要提供可供程序員做網絡開發所用的接口,這就是Socket編程接口”。
所以在做tcp調試前,我需要讓兩頭都有一個接口,那就要開是手動去“實例”一個socket出來用。
在.Net平台下我們怎么快速的去建立一個socket client?畢竟微軟是專業的,在其system.Net.Sockets里我們可以看到一個 Socket 類,有這樣一個類我們就能快速的建立起一個client。
private Socket client; private Socket server;
然后確定兩者間的識別信息:ip和port口
IPAddress iPAddress;
IPEndPoint iPEndPoint = new IPEndPoint(iPAddress, Port);
這樣一個簡單的socket就建立起來了,接下來就是通訊了:連接和釋放資源
client.Connect(iPEndPoint);//連接指定客戶端
client.Dispose();
連接上之后肯定要就收和發送數據的。
client.Send(Buffer);//將數據發送到指定客戶端去,按照字節發送 client.Receive(ReData);//接收數據到ReData中,並返回一個代表字節數的int類型的變量
差不多到這里就可以進行數據的交互了,也就是核心部分已經是完成了,站在巨硬的肩膀上干活真輕松。