尚紅
摘要:在科技的引領(lǐng)下,遠(yuǎn)程通信倍受矚目,影響社會生活方方面面,更顯核心技術(shù)的作用。依托遠(yuǎn)程通信技術(shù),各行各業(yè)獲得更加便捷與高效的溝通模式,信息傳遞更快,范圍更廣,突破時(shí)空限制與束縛,人與人距離被拉近??v觀其發(fā)展歷程,源于美國工程師Ray Tomlinson的第一封E-mail,直到今天J2ME等技術(shù)的廣泛應(yīng)用,其歷經(jīng)三十年時(shí)間,發(fā)展速度震驚世人。針對其發(fā)展內(nèi)容,以網(wǎng)絡(luò)語言Java為基礎(chǔ)的的遠(yuǎn)程通信深受歡迎,提升了網(wǎng)絡(luò)時(shí)代通信行業(yè)的發(fā)展?jié)摿?,現(xiàn)實(shí)價(jià)值巨大。本文著重探討了Java遠(yuǎn)程通信的機(jī)制及應(yīng)用。
關(guān)鍵詞:遠(yuǎn)程通信;Java;Sokect
一、遠(yuǎn)程通信
(一)遠(yuǎn)程通信概述
遠(yuǎn)程通信(telecommunication)源于希臘語“遠(yuǎn)程”(Greek tele)通信(com- municare)(共享)。從行業(yè)角度分析,遠(yuǎn)程通信以不同系統(tǒng)為背景,依托模擬或者數(shù)字信號調(diào)制技術(shù),滿足信息的電子傳輸目的,其支持的信息模式極具多元化,如數(shù)據(jù)、圖像、音頻以及視頻等。當(dāng)前,遠(yuǎn)程通信技術(shù)應(yīng)用領(lǐng)域極其廣泛。例如,在檢查機(jī)關(guān),依托網(wǎng)絡(luò),實(shí)現(xiàn)檢察院計(jì)算機(jī)的有效鏈接,以專線或者通訊網(wǎng)為載體,滿足數(shù)據(jù)交換的目標(biāo)。在遠(yuǎn)程通信軟件的支撐下,遠(yuǎn)程辦公模式得以構(gòu)建,達(dá)到實(shí)時(shí)監(jiān)控與信息傳遞的目的。另外,只要與計(jì)算機(jī)識別系統(tǒng)相兼容,文件即可以被傳遞,對提升文件處理效率意義重大。
(二)Internet遠(yuǎn)程通信
隨著計(jì)算機(jī)技術(shù)的不斷發(fā)展,技術(shù)不斷優(yōu)化與改善,技術(shù)水平不斷攀升,影響諸多領(lǐng)域,改變其信息傳遞方式,其已經(jīng)成為信息社會不可或缺的工具,尤其是在信息高速公路的影響下,全球網(wǎng)絡(luò)化進(jìn)程加快,國家以及地區(qū)間的距離被拉近,傳遞不再受制于時(shí)空。在世界范圍內(nèi),各個(gè)地區(qū)獨(dú)立的計(jì)算機(jī)網(wǎng)絡(luò)被有序連接,滿足信息互通與共享。全球網(wǎng)絡(luò)化技術(shù)以Internet網(wǎng)絡(luò)技術(shù)為基礎(chǔ)得以構(gòu)建而成。
1.TCP/IP協(xié)議和IP地址
為了能夠進(jìn)入Internet聯(lián)結(jié)的計(jì)算機(jī),要掌握網(wǎng)絡(luò)要求,遵循通信協(xié)議。對于全球Internet網(wǎng),其以TCP/IP協(xié)議為根本。各自獨(dú)立的計(jì)算機(jī)需要對準(zhǔn)確識別與之相關(guān)聯(lián)的計(jì)算機(jī)。這種情況更加類似于城市中,各個(gè)街道不同戶別的編號。IP地址是區(qū)別計(jì)算機(jī)的唯一編號。依靠IP地址,能夠?qū)崿F(xiàn)對網(wǎng)絡(luò)中計(jì)算機(jī)的準(zhǔn)確標(biāo)識,界定其所在的網(wǎng)絡(luò)。
2.Internet遠(yuǎn)程通信原理
通過掌握TCP/IP協(xié)議和IP地址的涵義,Internet工作原理就比較好理解了。如圖1-1,如果一個(gè)用戶向另一用戶傳遞文件,TCP需要對文件進(jìn)行分解處理,構(gòu)建多個(gè)數(shù)據(jù)包,同時(shí),將特定信息進(jìn)行添加,目的是保證接收方機(jī)器能夠準(zhǔn)確判斷信息的正確性,而后IP將地址信息置于數(shù)據(jù)包,就此形成了能夠在Internet上傳輸?shù)腡CP/IP。
二、Java基于Internet遠(yuǎn)程通信
(一)Java語言概述
Java語言以對象為目標(biāo),隸屬多媒體范疇,是Internet編程語言的一種。其由美國公司開發(fā),為了更好滿足國際互聯(lián)網(wǎng)需求,強(qiáng)化對編程語言發(fā)展問題的有效應(yīng)對。這種語言突出的優(yōu)勢的具有較快的編程速度,支持靈活應(yīng)用程序的編寫,適合于多種軟件與硬件平臺,避免病毒感染,在問世之后,得到網(wǎng)絡(luò)開發(fā)者的青睞。依托Java,形成了網(wǎng)絡(luò)“世界語”,如今已經(jīng)發(fā)展成為 Internet的主力開發(fā)語言??v觀全行業(yè),Java編程廣泛應(yīng)用在商業(yè)軟件、企業(yè)信息系統(tǒng)以及信息服務(wù)產(chǎn)業(yè)中,與科學(xué)研究也不可分離,發(fā)展?jié)摿薮?,為活力四射世界的?gòu)建奠定堅(jiān)實(shí)的基礎(chǔ)。
對于Internet的WWW服務(wù),其以Java中的小應(yīng)用程序Applet為背景,提升了HTML文檔的靈活性,SUN工程師編寫的HotJava瀏覽器取得巨大進(jìn)步。自1995年起,多家公司購買了Java語言的使用權(quán)。對于URL訪問,以Java中的URL編程為基礎(chǔ),滿足URL信息訪問的需求。Socket和ServerSocket編程主要是借助Socket編程,準(zhǔn)確編寫客戶機(jī)的網(wǎng)絡(luò)程序以及分布式系統(tǒng)。
(二)Java 強(qiáng)大的網(wǎng)絡(luò)開發(fā)功能
對于Java語言,其是語言革命的集中代表,具有里程碑的作用。這種語言能夠適應(yīng)應(yīng)用軟件與網(wǎng)絡(luò)開發(fā)環(huán)境,開發(fā)功能的強(qiáng)大。依托Java,能夠突破更多語言的不足,功能更加強(qiáng)大:借助Java,能夠開發(fā)如同Windows的notebook的程序,甚至能夠進(jìn)行Word研發(fā),支持網(wǎng)絡(luò)通信性。另外,還可以進(jìn)行網(wǎng)絡(luò)通信,呈現(xiàn)優(yōu)質(zhì)的圖像,支持Webserver和中間件滿足負(fù)載均衡等功能。除此之外,支持郵件系統(tǒng)的開發(fā)。
三、常見Java類用于遠(yuǎn)程網(wǎng)絡(luò)通信
(一)基本概念和協(xié)議
IP地址
對于因特網(wǎng)而言,是計(jì)算機(jī)網(wǎng)絡(luò)的代表。從物理角度分析,其以網(wǎng)絡(luò)為基礎(chǔ)構(gòu)成,強(qiáng)調(diào)多種差異化體系結(jié)構(gòu)的互相連接。從邏輯角度講,其以IP地址為手段進(jìn)行統(tǒng)一化編址,更顯突出的層次性與抽象性。IP地址還包含特殊地址類型,主要是指127.0.0.1,服務(wù)于用于本機(jī)測試。也就是說,因特網(wǎng)上的計(jì)算機(jī)必須具有一個(gè)IP地址。
端口
一般情況下,在因特網(wǎng)中,服務(wù)與協(xié)議相對應(yīng),同時(shí)與獨(dú)一無二的端口相關(guān)聯(lián)。端口通常為16位二進(jìn)制整數(shù)進(jìn)行表示,保證進(jìn)程與端口相綁定,而后通信實(shí)現(xiàn)。系統(tǒng)服務(wù)使用1024以下端口號,應(yīng)用服務(wù)服務(wù)于其它用戶。
客戶機(jī)和服務(wù)器
立足因特網(wǎng),計(jì)算機(jī)即為主機(jī),也被稱服務(wù)器,作用是提供信息服務(wù)。同時(shí),支持信息接受的為客戶機(jī)。
客戶機(jī)和服務(wù)器通信過程如下:
當(dāng)客戶機(jī)與服務(wù)器相關(guān)聯(lián)之后,就會向服務(wù)器發(fā)出請求,服務(wù)器的功能是對客戶請求進(jìn)行接聽,實(shí)施分析與處理,及時(shí)將請求結(jié)果返回客戶機(jī)。
連接和無連接
立足網(wǎng)絡(luò),主要存在兩種通信方式,即面向連接與無連接。前者需要以連接為前提,而后完成信息交互。通信完成之后,連接關(guān)閉。這種方式極具安全性與可靠性,能滿足規(guī)模較大的數(shù)據(jù)傳輸需求。后者擺脫連接的要求,滿足直接通信的標(biāo)準(zhǔn),比較適合規(guī)模較小的數(shù)據(jù)傳輸任務(wù)。
協(xié)議
對于協(xié)議而言性,代表的通信標(biāo)準(zhǔn),存在于計(jì)算機(jī)之間,因特網(wǎng)中采用TCP/IP協(xié)議就是其中一種。
(二)URL類
統(tǒng)一資源定位器(URL,Uniform Resource Locator)的功能是準(zhǔn)確定位萬維網(wǎng)中文本的基本信息。URL類封裝了資源訪問的方法,需要具備統(tǒng)一的定位器,對單一WWW上的資源進(jìn)行操作。由此,尋址或者定位某一資源的對象形成。這類封裝處于Java.net包中,能夠支持大量遠(yuǎn)程站點(diǎn)訪問的需要,編程更顯便捷性。在整個(gè)在Java網(wǎng)絡(luò)編程中,URL層次級別最高,能夠支持Internet上的資源訪問和數(shù)據(jù)傳輸。
利用URL,能夠更快進(jìn)行信息獲取,包含文本與圖像。文本類型不受限制,只要保證地址表示符合URL的標(biāo)準(zhǔn)位置表示法即可。
(三)Socket類
Socket代表的是網(wǎng)絡(luò)應(yīng)用編程接口(API),Java 語言隸屬網(wǎng)絡(luò)編程語言范疇,能夠支持強(qiáng)大的網(wǎng)絡(luò)通訊支持機(jī)制,能力獨(dú)特。立足Java網(wǎng)絡(luò)編程,Socket代表的是傳統(tǒng)網(wǎng)絡(luò)編程方式。具體講,其在Client/Server(客戶機(jī)/服務(wù)器)結(jié)構(gòu)的應(yīng)用程序之間建立Sock -et套接字連接,而后進(jìn)行數(shù)據(jù)通信,這種方式極具廣泛性。對于套接字類型Socket,依據(jù) 傳輸數(shù)據(jù)類型,主要?jiǎng)澐譃槿悺?)字節(jié)流套接字(Socket -stream),支持雙向、面向連接的通信,可靠性更強(qiáng),不會出現(xiàn)差錯(cuò)字節(jié)流,不會出現(xiàn)重復(fù)發(fā)送,滿足順序接收的需求。同時(shí),其內(nèi)設(shè)流量控制功能,保證數(shù)據(jù)流規(guī)模的適合性。另外,有效維護(hù)信息邊界?;诖朔N通信協(xié)議,能夠支持錯(cuò)誤信息的再次傳遞。2)數(shù)據(jù)報(bào)套接字(Socket Dgram)。其隸屬無連接服務(wù)范疇,各個(gè)數(shù)據(jù)包都含有地址。數(shù)據(jù)包發(fā)送方式為獨(dú)立式,但是順序不確定,很難維護(hù)絕對可靠與不重復(fù)?;诖耍浔痪W(wǎng)絡(luò)文件系統(tǒng) NFS 使用。3)原始數(shù)據(jù)套接字(Socket Raw),這種接口低層次協(xié)議直接訪問,常見的有 IP、ICMP。但這不適合普通用戶,主要適合于開發(fā)新協(xié)議或?qū)Φ蛯訁f(xié)力議有興趣的人。
1.socket類編程機(jī)制
在計(jì)算機(jī)技術(shù)不斷發(fā)展進(jìn)程中,操作系統(tǒng)能夠滿足多進(jìn)程同時(shí)運(yùn)行的要求。Socket機(jī)制的優(yōu)勢是滿足兩臺主機(jī)差異性進(jìn)程的通信需求。下圖是典型代表,代表了 Socket 通信機(jī)制示意圖。具體講,以客戶服務(wù)器模式為基礎(chǔ),服務(wù)器構(gòu)建半相關(guān),而后進(jìn)入監(jiān)聽階段,考察是否存在與自身端口相對應(yīng)的鏈接請求。連接多源于客戶。在完成半相關(guān)建立之后,客戶方會將連接發(fā)送給服務(wù)器。至此,完整連接形成。
2.服務(wù)器端
主進(jìn)程 ?1)構(gòu)建Socket,同時(shí)保證其與服務(wù)器本地址以及協(xié)議端口的綁定,與此同時(shí),端口要處于非連接狀態(tài)。2)這一端口的服務(wù)形式為被動(dòng)式。3)指定端口由主進(jìn)程完成守候任務(wù),作用是處于等待狀態(tài),以便及時(shí)接收連接請求。4)一旦連接請求出現(xiàn),就需要立即向客戶機(jī)傳遞反饋,構(gòu)建全新的進(jìn)程,有效發(fā)出應(yīng)答,實(shí)施返回操作。5)實(shí)施退出操作。從進(jìn)程:1)以接收請求為前提,而后得以形成,也就是說,只要功能是用于連接的Socket。2)結(jié)合具體連接要求,以此為載體,實(shí)現(xiàn)與客戶機(jī)的信息交互。3)交互任務(wù)完成,實(shí)施關(guān)閉操作后退出。
3.客戶機(jī)端
1)進(jìn)行Socket創(chuàng)建,以遠(yuǎn)程通信為目的。2)構(gòu)建主動(dòng)鏈接,滿足服務(wù)器進(jìn)程需求。3)借助有效連接,保證與服務(wù)器的進(jìn)程的實(shí)時(shí)通信。4)在通信完畢之后,對整個(gè)連接進(jìn)行關(guān)閉與退出操作。
四、結(jié)語
綜上,隨著科技的不斷進(jìn)步學(xué),計(jì)算機(jī)水平處于高速發(fā)展增強(qiáng),優(yōu)化與完善不斷進(jìn)行。遠(yuǎn)程通信作為計(jì)算機(jī)領(lǐng)域重要內(nèi)容,得到全社會關(guān)注。在網(wǎng)絡(luò)技術(shù)應(yīng)用不斷拓展的前提下,遠(yuǎn)程通信技術(shù)成為焦點(diǎn)。
從本質(zhì)上講,本文內(nèi)容集中體現(xiàn)了對Java遠(yuǎn)程通信的運(yùn)用從,有利于加強(qiáng)對Socket類遠(yuǎn)程通信的全新認(rèn)識,促使客戶端能夠準(zhǔn)確獲取服務(wù)端信息,滿足在線測試的需求,強(qiáng)化自主學(xué)習(xí)目標(biāo)的實(shí)現(xiàn),達(dá)到對學(xué)生情況的動(dòng)態(tài)掌握,全面獲取學(xué)生信息,達(dá)到對系統(tǒng)的綜合測試與評定。
Java遠(yuǎn)程通信的發(fā)展應(yīng)用代表了通信技術(shù)發(fā)展的方向,隨著通信技術(shù)的優(yōu)化與完善,其必將在更多領(lǐng)域獲得前所未有的發(fā)展前景。
參考文獻(xiàn):
[1] 吳婧文.基于java編程語言的網(wǎng)絡(luò)通信程序研究[J].計(jì)算機(jī)產(chǎn)品與流通,2019(03):19.
[2] 婁豪.基于計(jì)算機(jī)程序設(shè)計(jì)的Java編程語言探究[J].信息技術(shù)與信息化,2018(07):108-110.
[3] 劉佳浩.基于Java編程提高網(wǎng)絡(luò)通信安全問題研究[J].電腦知識與技術(shù),2017,13(34):19-21.
[4] 王智印,李丹.Java基于TCP/IP協(xié)議的Socket通信[J].產(chǎn)業(yè)與科技論壇,2017,16(21):41-42.
[5] 滕向宇.基于JAVA的即時(shí)通信系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)[J].中國管理信息化,2017,20(11):153-154.
[6] 蔡宇.Java多應(yīng)用卡發(fā)卡系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[D].北京郵電大學(xué),2017.
(作者單位:遼寧廣告職業(yè)學(xué)院)