宋澤瑞
【摘要】 計算機網絡技術在當下是一項主流且仍具有極大潛力的技術,SOCKET是計算機網絡技術的一個術語,指的是端口號,它的本質指的是編程的接口,TCP/IP的使用需要程序員通過接口來開發使用,也就是SOCKET的編程接口。在應用到BSD Unix的進程通信機制之上也作為“插座”來使用,能夠將IP地址和端口視為通信鏈的句柄,能夠溝通多個虛擬機或多個計算機間的通信。
【關鍵詞】 SOCKET 編程 網絡通信
計算機網絡時代的到來推動了很多產業的發展升級,將計算機網絡技術應用到各行各業中是當前的發展潮流。計算機的網絡具有靈活性、開放性,網絡本身不受企業或廠商的控制,所以在許多行業都能夠發揮其價值。網絡編程是應用網絡發揮其價值的一個重要方式,而掌握SOCKET網絡編程技術能夠實現網絡通信的效能。本文就BSD Unix網絡版在套接字接口之上的網絡通信過程展開了分析討論。
一、TCP/IP協議在分層以及應用程序編程接口
基于TCP/IP的網絡能夠為應用程序供應兩個常規編程接口,分別為套接字接口和傳輸層接口,套接字接口便是本文所重點討論的SOCKET,SOCKET是在BSD Unix系統的基礎上開發并普及開的,傳輸層接口(TLI)是AT&T公司開發出的,SOCKET API具有普遍的通用性,能夠基于多種傳輸協議運行,當前已經發展成了網絡編程的既定事實標準,所以本文就通用性只討論套接字接口編程。
二、TCP/IP提供的服務以及編程模式
套接字實際上是IP地址在附上端口編號后,IP地址的標識網絡中單一主機,端口編號的標識能夠在主機之上展開工作的一個進程,能夠系統化展開網間通信則需要建立在兩個進程中,達成這一條件還需要共用相同的高層協議。
OSI術語里把網絡層下面的各分層視為通信子網,為實現網間的進程通信,在此基礎上還要做到控制差錯、控制流量、管理各項連接、排序組合數據等功能,這就需要準備兩種服務方式,分別為無連接的服務和面向連接(虛電路)。
TCP/IP網絡應用中,進行通信工作的兩個進程之間會互相產生作用和聯系,為用戶供應所需求的服務,然后將數據回復到客戶的結果。
三、BSD Unix套接字接口網間進程的通信過程
SOCKET在TCP/IP基礎上所能夠提供的套接字類型主要有一下三種:
3.1流式套接字(SOCK STREAM)
流式套接字所提供的服務在連接上的應用比較多,能夠為用戶提供準確可靠的數據傳輸服務,并且保證了數據避免出錯,同時還也能夠避免多次重復發送,數據在傳輸過程中仍保持著隊列順序,對于數據還有準確的流量控制,防止了數據流超出限制值的出現。
3.2數據報式套接字(SOCK DGRAM)
數據報式套接字能夠為用戶提供無連接服務,獨立的服務包傳送出,對于錯誤沒有保證,數據在傳輸的過程中可能會丟失或出現重復發送的現象,另一端接受到的數據也是雜亂無序的,數據長度有限制:最大為64KB,網絡文件系統中(NFS)使用的便是數據報式套接字。
3.3原始式套接字(SOCK RAW)
原始式套接字的接口要求能夠實現對底層協議間的信息傳輸,比如IP、ICMP的直接訪問,這種訪問常常用在對新的協議實現情況以及訪問服務配置中的新設備的檢驗工作中,通常是不會為普通用戶提供的,所以本文并未展開深入研究。
四、總結
本文針對以SOCKET在編程上的應用展開的了分析討論,并對其在網絡通信功能的應用進行了研究。網絡編程是應用網絡發揮其價值的一個重要方式,而掌握SOCKET網絡編程技術能夠實現網絡通信的效能。本文就BSD Unix網絡版在套接字接口之上的網絡通信過程展開的研究仍不全面,需要更多的計算機網絡技術人員投入,深入的研究并將其應用于網絡通信領域。
參 考 文 獻
[1]歐軍,吳清秀,裴云,張洪. 基于socket的網絡通信技術研究[J]. 網絡安全技術與應用,2011,07:19-21.
[2]王遠洋,周淵平,郭煥麗. Linux下基于socket多線程并發通信的實現[J]. 微計算機信息,2009,15:70-72.
[3]王志偉,沈杰峰,郭啟峰,唐俊. 基于Socket的GPRS遠程數據采集方法[J]. 西華大學學報(自然科學版),2006,01:37-39+93+3.
[4]張允剛,劉常春,劉偉,何付志. 基于Socket和多線程的遠程監控系統[J]. 控制工程,2006,02:175-177.
[5]李現凡,高建榮. 基于SOCKET編程接口的局域網即時通信系統的開發實現[J]. 常州輕工職業技術學院學報,2006,04:14-18.