亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        Linux環(huán)境下基于Socket的網(wǎng)絡(luò)通信技術(shù)研究

        2017-06-08 16:23:42栗建中胡雯雯
        中國新技術(shù)新產(chǎn)品 2017年12期

        栗建中 胡雯雯

        摘 要:在現(xiàn)代科學(xué)技術(shù)迅速發(fā)展的推動下,人們的日常生活中對于網(wǎng)絡(luò)通信功能的使用已經(jīng)可以說成為一種依賴,我們對于網(wǎng)絡(luò)通信的需求則出現(xiàn)在了生活中的方方面面。因為我們對于網(wǎng)絡(luò)通信的強烈的需求,所以關(guān)于高性能的網(wǎng)絡(luò)通信也越來越被人們所關(guān)注。Linux網(wǎng)絡(luò)是一種操作系統(tǒng),在這個開放的網(wǎng)絡(luò)平臺上,我們可以進行高性能的網(wǎng)絡(luò)通信的開發(fā)。在現(xiàn)在的網(wǎng)絡(luò)發(fā)展中,Linux環(huán)境下基于Socket的網(wǎng)絡(luò)通信技術(shù)的開發(fā)和研究已經(jīng)成為主流,為大多數(shù)人所關(guān)注。而Socket是一種套接字規(guī)范作為程序通信的方式,是可以作為與網(wǎng)絡(luò)設(shè)備和應(yīng)用程序之間的編程接口。更為重要的是,Socket接口是在Linux網(wǎng)絡(luò)環(huán)境下的用于應(yīng)用程序與下層協(xié)議的唯一途徑。因Socket接口對于Linux環(huán)境的重要性,所以我們要對Linux環(huán)境下基于Socket的網(wǎng)絡(luò)通信技術(shù)進行研究,提高網(wǎng)絡(luò)通信效率。

        關(guān)鍵詞:Linux環(huán)境;Socket;網(wǎng)絡(luò)通信技術(shù)

        中圖分類號:TP316 文獻標識碼:A

        隨著網(wǎng)絡(luò)通信日益為人們的日常生活所依賴,我們對于高性能的網(wǎng)絡(luò)通信的要求也是越來越高。網(wǎng)絡(luò)的工作狀況對于一個操作系統(tǒng)來說就是最需要的基礎(chǔ)性的支持,因此網(wǎng)絡(luò)的支持程度就顯得尤為重要。在現(xiàn)行眾多的操作系統(tǒng)中,Linux操作系統(tǒng)有著較好的優(yōu)勢。Linux操作系統(tǒng)是一種可以進行多任務(wù)的操作系統(tǒng),內(nèi)核小、效率高。Linux操作系統(tǒng)本身還具有較高的安全性,這在網(wǎng)絡(luò)通信方面是非常引人關(guān)注的一點,Linux操作系統(tǒng)還具有良好的兼容性,可以兼容大多數(shù)的網(wǎng)絡(luò)協(xié)定,保障運行的效率。因為這些優(yōu)勢,Linux操作系統(tǒng)的應(yīng)用度非常廣泛,對于Linux操作系統(tǒng)的網(wǎng)絡(luò)通信的研究也成為當下的一股熱潮。Socket則作為Linux操作系統(tǒng)的唯一連接接口,對于高性能的網(wǎng)絡(luò)通信程序開發(fā)有著很大的奠基作用。Socket即套接字,是一種連接應(yīng)用層和傳輸層之間的編程接口,具有訪問下層通信協(xié)議的功能,并且可以調(diào)用相應(yīng)的數(shù)據(jù)。在這種情況之下,我們就要進行Linux環(huán)境下基于Socket的網(wǎng)絡(luò)通信技術(shù)研究,希望可以設(shè)計出性能更高的網(wǎng)絡(luò)通信技術(shù)。

        1.基于SOCKET下的網(wǎng)絡(luò)通信原理

        現(xiàn)在的網(wǎng)絡(luò)通信大多數(shù)都是由客戶機和服務(wù)器構(gòu)成的,即C/S架構(gòu),此外還有一種是由瀏覽器和服務(wù)端構(gòu)成的,即B/S架構(gòu)。這兩種網(wǎng)絡(luò)通信方式即是現(xiàn)在的網(wǎng)絡(luò)通信的主流通信方式。這都是先通過了解客戶需求,由子程序進行溝通和處理,而子程序則由主程序進行統(tǒng)一控制,以主程序為代表控制多個子程序來和客戶進行通信。在網(wǎng)絡(luò)通信中,Socket即套接字是非常重要的。在一個個網(wǎng)絡(luò)進程運作的時候,我們都是通過對不同的進程進行標注,才可以加以區(qū)別。Socket就是一個個的網(wǎng)絡(luò)進程的ID,只有我們明確了這些ID,我們才可以進行網(wǎng)絡(luò)間的進程通信,把一個一個進程連接起來完成,從而完成我們需要的網(wǎng)絡(luò)通信。我們的計算機現(xiàn)在已經(jīng)越來越復(fù)雜,我們的計算機在進行運作的時候,一般都開啟的不只是一個進程,對于這些進程的區(qū)分,我們就可以用Socket來完成。Socket除了可以擔當ID的作用,還可以再進行細分,這樣就會含有別的信息,即端口號。在計算機運行時,進程與端口號呈現(xiàn)一一對應(yīng)的關(guān)系,這樣能夠避免出現(xiàn)運行誤差,極大的提高網(wǎng)絡(luò)通信的運行效率。Socket的網(wǎng)絡(luò)協(xié)議還具有非常多的類型,工作方式也不盡相同,地址格式也不相同,相同的網(wǎng)絡(luò)協(xié)議地址就可以用組成協(xié)議地址族,見表1。

        對于這些套接字地址族,我們都是可以將其作為統(tǒng)一的套接字接口,可以被專有各地址族的軟件所使用。有了這些前提,Socket下的ID和端口號的相互配合之下,我們的網(wǎng)絡(luò)通信才可以得到實現(xiàn)。

        2. LINUX網(wǎng)絡(luò)通信設(shè)計

        了解了Socket下的網(wǎng)絡(luò)通信原理之后,我們就可以進行對Linux的網(wǎng)絡(luò)通信設(shè)計了。對于Linux的網(wǎng)絡(luò)通信設(shè)計,我們主要從工作流程、數(shù)據(jù)發(fā)送模塊和數(shù)據(jù)接受模塊3個方面來進行入手。

        2.1 工作流程

        對于Linux的網(wǎng)絡(luò)通信進行設(shè)計,我們要先熟悉Linux的網(wǎng)絡(luò)通信的通信流程。因此,我們要先從Socket開始。我們首先要做的就是建立起套接口,int socket=socket(intdomain,int type,int protocol);然后對建立的套接口進行綁定,給與建立的套接口一個地址,這個地址里包含有計算機的IP地址和端口號等一些基礎(chǔ)信息,可以為套接口進行進程間的連接做好準備;客戶端就可以請求連接網(wǎng)絡(luò),客戶端會通過未被占用的端口來進行進程;在程序運行的時候,Socket會與相應(yīng)的端口進行一對一的連接,并且會對連接的端口進行監(jiān)聽,以便在收到請求的時候及時地給予相應(yīng)的處理;請求的隊列過大會導(dǎo)致服務(wù)不會回應(yīng)或是回應(yīng)過慢,在隊列減少則會盡快處理;處理完就可以將結(jié)果傳輸出去了,send和recv這兩個函數(shù)可以完成對Socket進行數(shù)據(jù)傳輸;發(fā)送數(shù)據(jù)和接收數(shù)據(jù),傳輸完畢之后,就可以關(guān)閉連接了。這樣就可以完成整個客戶訪問的進程間的通信了。

        2.2 數(shù)據(jù)發(fā)送模塊

        我們對于Linux操作系統(tǒng)中對于進程間的數(shù)據(jù)發(fā)送,是采用Socket函數(shù)來進行的。Int send和int recv這兩個函數(shù)可以應(yīng)用于套接字在進程間的通信。Send函數(shù)是用于發(fā)送數(shù)據(jù)的,如果出現(xiàn)了小于len的情況,就代表著數(shù)據(jù)有部分沒有發(fā)送,只是發(fā)送了一部分,我們就需要再次發(fā)送來完成我們的數(shù)據(jù)發(fā)送。我們進程間的數(shù)據(jù)發(fā)送都是通過調(diào)用函數(shù)來進行的,通過函數(shù)來進行網(wǎng)絡(luò)的連接,連接好了網(wǎng)絡(luò),我們才可以進行發(fā)送數(shù)據(jù)了。我們將數(shù)據(jù)順利地發(fā)送出去之后,進程間才可以順利地通信。

        2.3 數(shù)據(jù)接收模塊

        我們有數(shù)據(jù)發(fā)送,當然也要有數(shù)據(jù)接收。當網(wǎng)絡(luò)上的數(shù)據(jù)被計算機接收到了計算機,會產(chǎn)生一些控制器的中斷,導(dǎo)致計算機運行出現(xiàn)故障。這個時候計算機的中斷調(diào)控處理程序開始工作,對接收到的數(shù)據(jù)進行處理,相應(yīng)地處理程序,寄存器開始工作,對接收的新數(shù)據(jù)進行記錄及存儲。我們在函數(shù)中要正確的設(shè)定寄存器的內(nèi)容,不然我們的計算機將無法對新接收的數(shù)據(jù)進行處理。出現(xiàn)不同的函數(shù)時,代表的意義也是不一樣的。我們就可以進行一些舉例:當CPR二BNRY時,代表著緩沖區(qū)全部被存滿,新接收的數(shù)據(jù)無法被使用;這時網(wǎng)卡將停止往內(nèi)存寫數(shù)據(jù),新接收的數(shù)據(jù)將被拋棄,而無法存到我們的計算機里面;當CPR二BNR卜1時,表示網(wǎng)卡的接收緩沖區(qū)里沒有數(shù)據(jù),我們可以通過這個數(shù)據(jù)來判斷是否有數(shù)據(jù)可以使用。

        只有顯示CPR!二BNRY十1時,才代表接收到了新的數(shù)據(jù),并處于正常的存儲狀態(tài),可以為我們所使用。

        3. Socket網(wǎng)絡(luò)通信模型

        網(wǎng)絡(luò)通信模型,最基礎(chǔ)的是C/S的網(wǎng)絡(luò)通信模型。對于這種網(wǎng)絡(luò)通信模型,我們可以在這個網(wǎng)絡(luò)通信模型中發(fā)現(xiàn)兩個部分:客戶程序和服務(wù)程序。我們的客戶程序是由客戶來進行提出請求,然后我們的服務(wù)程序開始工作,接收請求并建立連接,連接建立以后我們就可以讓客戶對于我們的網(wǎng)絡(luò)通信中的數(shù)據(jù)建立起連接,客戶就可以自行讀取數(shù)據(jù),進行使用。但是應(yīng)用程序在使用Socket接口來讀取數(shù)據(jù)之前,我們要先進行Socket函數(shù)的調(diào)用,有了Socket函數(shù)的支持,我們才可以完成通信間的連接,以此來完成整個客戶程序的使用進程和服務(wù)進程的網(wǎng)絡(luò)通信。網(wǎng)絡(luò)通信的模型如圖1所示。

        結(jié)語

        在這個網(wǎng)絡(luò)發(fā)展迅速的時代,人們對于網(wǎng)絡(luò)的要求也是越來越高,同時也帶動了人們對高性能網(wǎng)絡(luò)的開發(fā)和研究。Linux網(wǎng)絡(luò)可以可以進行網(wǎng)絡(luò)資源的共享,完成網(wǎng)絡(luò)通信,而且具有較高的安全性。Linux網(wǎng)絡(luò)還具有內(nèi)核小,包含著很多的網(wǎng)絡(luò)協(xié)議,還有開放的源代碼,我們可以利用Linux網(wǎng)絡(luò)進行基于Socket的網(wǎng)絡(luò)通信技術(shù)的開發(fā)。Socket作為其中的接口起著舉足輕重的作用,連接起了網(wǎng)絡(luò)設(shè)備和應(yīng)用程序與下層協(xié)定,從而完成設(shè)備和網(wǎng)絡(luò)之間的網(wǎng)絡(luò)通信。我們對于Linux環(huán)境下基于Socket的網(wǎng)絡(luò)通信技術(shù)進行研究,希冀于提高網(wǎng)絡(luò)通信效率,建立起更好的,性能更高的網(wǎng)絡(luò)通信技術(shù)。

        參考文獻

        [1]莫足琴,歐陽艷階,馬康.基于 Java Socket 多客戶端并發(fā)通信聊天程序的設(shè)計與實現(xiàn)[J].電腦知識與技術(shù),2008(20):63-65.

        [2] Douglas. Comer, David L.Stevens. TCP/IP客戶-服務(wù)器編程與應(yīng)用[M].北京:清華大學(xué)出版社,2004.

        [3]農(nóng)孫博,范正剛. Linux平臺下的Web編程[M].北京:人民郵電出版社,2000.

        [4]劉春風,張代遠.μC/OS-II下協(xié)議棧uIP的移植與應(yīng)用[J].計算機技術(shù)與發(fā)展,2012,22(9):143-145.

        [5]高栩宇,馬林華,南秦博.基于L州ux操作系統(tǒng)下的cT即IP網(wǎng)絡(luò)通信研究與應(yīng)用[J].現(xiàn)代電子技術(shù),2006,29(18):74-76.

        久草久热这里只有精品| 好男人日本社区www| 国产主播福利一区二区| 国产在线丝袜精品一区免费| 久久综合视频网站| 亚洲国产综合久久精品| 亚洲av乱码一区二区三区人人 | 伊人久久大香线蕉综合av| 国产无卡视频在线观看| 女同精品一区二区久久| 乱中年女人伦| www插插插无码免费视频网站 | 亚洲女同系列高清在线观看| 人妖国产视频一区二区| 伦伦影院午夜理论片| 窝窝午夜看片| 国产成年无码V片在线| 国产一区二区三区蜜桃av| av在线不卡一区二区| 久久久免费精品re6| 天天综合亚洲色在线精品| 国产免费av片在线观看麻豆| 国产av大片在线观看| 国产一区二区亚洲一区| 免费又黄又爽又色的视频| 久久亚洲中文字幕无码| 久久99热精品免费观看欧美| 免费观看在线一区二区| 一区二区二区三区亚洲| 亚洲国产精品国自产拍av| 乱人伦中文字幕成人网站在线| 国产一级三级三级在线视| 久久综合激激的五月天| 手机免费高清在线观看av| 日本顶级metart裸体全部| 久久久国产一区二区三区四区小说| 国内精品视频成人一区二区 | h视频在线播放观看视频| 日本午夜精品理论片a级app发布 | 一区二区三区国产在线视频| 亚洲av久久久噜噜噜噜|