張磊+王華+尚文博
摘 要
Java語言當中提供了DatagramSocket類以及Datagram Packet類,數據包在傳輸過程當中形成了雙向的發(fā)送和接收流程?;赥CP/IP通訊協議,通過試驗簡述Socket通訊所能夠產生的實際應用。
【關鍵詞】Socket通訊 方式 接口 數據處理 應用
在通訊雙方均采用以TCP/IP協議做為基礎的網絡通訊方式時,Socket通訊便可以有效的以TCP/IP做為基礎進行建立。這種建立模式,可以使得雙方的通訊都得以實現,而且在限制上也相對較小,并不會受到所使用的網絡類型的限制,同時有傳輸距離所產生的限制因素也大大減少。在實際的應用當中,Socket通訊由于其自身所具有的優(yōu)點,常常被應用于遠距離通訊傳輸。也正是由于Socket的特點,遠距離通訊傳輸功能才能夠得以實現。
1 基本理念和概念的提出
Socket的另外一個名字是套接字,主要是將兩個程序進行交替?zhèn)鬟f,是兩個運行程序的雙向信息傳遞端口,能接受請求也發(fā)送請求,使用Socket可以讓網絡信息更好的進行雙向傳遞,特別是在Java中,建立Socket類和ServerSocket類的客戶端與服務器端,用以在任意的兩臺機器之間開展連接。根據現有的數據雙向傳入和傳出能獲悉一點,既Socket類在客戶端進行應用,能建立較好的服務連接系統,讓信息更好的傳遞處理,從而做好信息的重組。ServerSocket類主要的應用范圍是服務器端,目的是用以接受數據,并數據進行處理。
TCP與UDP協議:TCP協議被稱為傳輸控制協議;UDP協議被稱之為用戶數據協議,這兩種協議均是在網絡傳輸層進行傳輸的常見協議類型。UDP主要是以通訊為主的連接性協議,當兩臺計算機需要通過信息傳輸的方式進行數據傳送時,可以在網絡上建立穩(wěn)定的傳輸接點,這樣就能讓信號傳輸更為穩(wěn)固。該連接模式是點對點的連接模式,通訊的雙方主體主要是借用信號來傳輸,所以信號要通過數據進行傳輸。具體工作內容如下,將現有的傳輸程序數據模塊交給網絡層,在確認對方分組信息后,讓UDP的程序應用效率跟高,但是要注意一點既應用程序不能直接與數據交換量進行交換,應該在逐漸組裝時根據信息上報數據,如若不然TCP才是最為簡潔與有效的選擇方式。
2 軟件的實現
利用Delphi當中的TTcpServer組件可以產生TcpServerl,便可以接受客戶端所發(fā)送出來的數據包。服務器端的線程實例越多,所動用的線程數量便越多,基本上每一個接收到的數據包都會引起一個新的線程實例。對數據包進行解包處理,之后再匯集到數據庫當中。
3 Socket通信基于Java的實現
為能實現Client/Server通信程序的時候最選用借用數據通信呈報的方式。程序的組成方主要由客戶端與服務器端兩部分構成,在服務器接受到客戶端信息以后,需要根據具體情況對信息做出回應,以達到信息回復的統一性。建立簡單的UDP服務器能讓本文提出的模型信息更好,也能簡化現有設計方式,省略部分代碼。
3.1 服務器端程序
打開Server Socket,創(chuàng)建兩個套接字結構,一個是服務器的套接字,另外一個是普通的套字,這兩者有著本質上的不同之處。服務器的套字主要是在特定的端口,為專項客戶提供Socket服務;使用Socket類的accept方法能讓服務器的套接字始終處于被監(jiān)聽的狀態(tài)內,然后將監(jiān)聽到的結果直接返還到普通的套接字中。上述做法的最終目的讓普通套接字能更好的輸入和輸出;從輸入流或者輸出流內輸出、寫入字節(jié)流,并根據具體的操作情況做對應出來,最終能將獲得結果直接返還回來,以便做相應出來;當客戶端的所有工作內容完成后在進行對象關閉,保障服務器的運行。
3.2 客戶端程序
(1)用服務器的IP地址和端口號實例化Socket對象。
(2)調用connect方法,連接到服務器上。
(3)將 發(fā) 送 到 服 務 器 的 IO流 填 充 到 IO對 象 里 , 比 如BufferedReader/PrintWriter。
(4)利用Socket提供的getInputStream和getOutputStream方法,借用IO流對象,為服務器發(fā)送數據流。
(5)通訊項目完成后,將剛剛被關閉的IO對象和Socket打開。然后將客戶端收集到的信息一并發(fā)送到服務器短,服務器開始接受客戶的信息傳遞,但是此刻客戶機的用戶工作還沒有全部完成,若是有新用戶注冊,完成后就要詢問客戶機的注冊是否成功。這時候客戶機需要新的線程對象進行數據統計,并將反饋到的各類信息反饋到客戶機上面。
4 以Socket通訊為核心實現的遠程數據處理
實際工作應用之時,設備產生出來的實驗結果可以根據現有設備方案的不同進行信號的傳輸。實際應用中多通過Socket的通訊方式讓信號的數據傳輸效果達到預期要求,所以為能讓設備的傳輸格式滿足使用需求,就要將數據格式化為PlainTextA。
5 結束語
Socket能夠有效確保遠程通訊的順利進行,因此其在遠程通訊當中得到了非常廣泛的應用。Socket通訊方式在進行遠程通訊時,具有比共享這種傳統方式更為簡單和可靠的特點,Socket通訊方式在運維工作上也非常的簡單,為整體維護工作降低了非常大的難度。同時,通過引入多線程技術,使得系統在進行數據包拆解時可以達到更高的效率,提高了數據包的解析律。這便使得大批量數據的處理工作變得更加容易。
參考文獻
[1]王莉.基于Socket通訊ECDS直連轉換系統的仿真設計[J].湖南工業(yè)職業(yè)技術學院學報,2014(23):45-47.
[2]何進,謝松巍.基于Socket的TCP/IP網絡通訊模式研究[J].計算機應用研究.2015(30):78-79.
作者簡介
張磊(1981-),男,山東省臨清市人。碩士研究生。高級工程師。主要研究方向為信息化技術。
作者單位
國網甘肅省電力公司信息通信公司 甘肅省蘭州市 730000endprint