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

        ?

        網(wǎng)絡(luò)編程tcp/ip協(xié)議與socket論述

        2016-03-13 15:46:11邵陽學(xué)院信息工程系
        電子世界 2016年8期

        邵陽學(xué)院信息工程系 嚴 謙 陽 泳

        ?

        網(wǎng)絡(luò)編程tcp/ip協(xié)議與socket論述

        邵陽學(xué)院信息工程系 嚴 謙 陽 泳

        【摘要】隨著互聯(lián)網(wǎng)技術(shù)的不斷發(fā)展,網(wǎng)絡(luò)通信成為當前互聯(lián)網(wǎng)技術(shù)的重要技術(shù),所以當前網(wǎng)絡(luò)編程技術(shù)成為當前互聯(lián)網(wǎng)通信發(fā)展的核心技術(shù)。網(wǎng)絡(luò)編程主要是的通過使用套接字來實現(xiàn)進程間的編程,在Windows系統(tǒng)中的網(wǎng)絡(luò)編程的套接字winscok,而在linux系統(tǒng)中最常見的套接字就是socket,本文就linux網(wǎng)絡(luò)編程中的tcp、ip協(xié)議以及socket套接字問題進行詳細的論述。

        【關(guān)鍵詞】網(wǎng)絡(luò)編程;tcp/ip協(xié)議;socket套接字

        0 引言

        網(wǎng)絡(luò)編程最主要的工作就是在發(fā)送端把信息通過規(guī)定好的協(xié)議進行組裝包,在接收端按照規(guī)定好的協(xié)議把包進行解析,從而提取出對應(yīng)的信息,達到通信的目的,而中間則是通過對數(shù)據(jù)包的組裝、過濾、捕獲以及分析等處理工作。作為一個網(wǎng)絡(luò)編程者,為做好網(wǎng)絡(luò)編程設(shè)計,需要接觸代碼,開發(fā)工具,數(shù)據(jù)庫,服務(wù)器架設(shè)和網(wǎng)頁設(shè)計等幾方面的工作,同時對于網(wǎng)絡(luò)編程,需要重視理解TCP/IP協(xié)議構(gòu)架,本文就TCP/IP協(xié)議構(gòu)架以及socket套接字問題進行詳細的論述。

        1 網(wǎng)絡(luò)編程概述

        網(wǎng)絡(luò)編程代碼主要分為靜態(tài)代碼與動態(tài)代碼兩種,靜態(tài)代碼主要是服務(wù)器不解析直接發(fā)送給客戶端的部分,用做布局效果,一般不用于數(shù)據(jù)庫操作;而動態(tài)代碼主要服務(wù)器需要解析的部分,用作數(shù)據(jù)庫連接操作等。常見的編程語言有php,jsp,asp這幾種語言,其中個人認為如果想快速入門的話,可以學(xué)JSP、但是為了能夠以后就業(yè)的話則需要學(xué)php或jsp。

        網(wǎng)絡(luò)模型主要是用與描述網(wǎng)絡(luò)的結(jié)構(gòu)原理和工作原理,網(wǎng)絡(luò)模型則分為OSI參考的模型與Internet網(wǎng)絡(luò)模型兩種,OSI網(wǎng)絡(luò)模型與Internet模型最大區(qū)別就是OSI模型為七層網(wǎng)絡(luò)結(jié)構(gòu),而Internet模型為四層結(jié)構(gòu),而網(wǎng)絡(luò)協(xié)議用于指定層上進行的數(shù)據(jù)交換的規(guī)則,Internet的網(wǎng)絡(luò)層協(xié)議的主要是以IP協(xié)議為主、DNS協(xié)議為輔,而Internet傳輸層協(xié)議則是TCP協(xié)議和UDP協(xié)議。

        套接字主要的用于程序編碼中操作,而套接字則是的應(yīng)用程序與網(wǎng)絡(luò)協(xié)議的接口,不同類型的程序的套接字是不同的,例如java socket主要是用于java應(yīng)用程序與網(wǎng)絡(luò)協(xié)議的接口,提供若干個類定義,java應(yīng)用的利用繼承網(wǎng)絡(luò)協(xié)議的方式實現(xiàn)java程序的網(wǎng)絡(luò)通信。

        數(shù)據(jù)包也稱為組裝包,指在應(yīng)用層數(shù)據(jù)或報文按照一定事先規(guī)定好的規(guī)則整合的數(shù)據(jù)集合,實際操作包括組包(打包),數(shù)據(jù)包傳送,解包。數(shù)據(jù)包通過協(xié)議將數(shù)據(jù)進行組合起來,但是在實際的應(yīng)用中,例如在C++編程中,通過定義一種新的數(shù)據(jù)類型的用于存儲新的數(shù)據(jù)包結(jié)構(gòu),之后通過的電氣物理傳輸將數(shù)據(jù)包傳輸出去,而接收端則需要對接收到的數(shù)據(jù)包進行的解析,以獲取需要的信息以及數(shù)據(jù)。

        2 TCP/IP協(xié)議構(gòu)架

        TCP/IP協(xié)議作為Internet的最基本的協(xié)議,主要有網(wǎng)絡(luò)層的IP協(xié)議和傳輸層的TCP協(xié)議構(gòu)成,TCP/IP協(xié)議為4層構(gòu)架結(jié)構(gòu),協(xié)議負責(zé)定義電子設(shè)備如何介入互聯(lián)網(wǎng):TCP協(xié)議負責(zé)信息的傳輸問題,而IP則是負責(zé)給聯(lián)網(wǎng)設(shè)備定義一個地址;IP層接收來自于更底層的數(shù)據(jù)包,(例如網(wǎng)絡(luò)接口層驅(qū)動程序反饋的數(shù)據(jù)),并且將數(shù)據(jù)包發(fā)往更高層(TCP層或者UDP層);此外由于IP沒對對數(shù)據(jù)包的進行處理、所以IP層的數(shù)據(jù)包不可靠。IP數(shù)據(jù)包中含有發(fā)送它的主機的地址(源地址)和接收它的主機的地址(目的地址)。

        TCP是面向連接的通信協(xié)議,通過三次握手建立連接,通訊完成時要拆除連接,由于TCP是面向連接的所以只能用于端到端的通訊;如果IP數(shù)據(jù)包中有已經(jīng)封好的TCP數(shù)據(jù)包,那么IP將把它們向‘上’傳送到TCP層。TCP將包排序并進行錯誤檢查,同時實現(xiàn)虛電路間的連接。TCP數(shù)據(jù)包中包括序號和確認,所以未按照順序收到的包可以被排序,而損壞的包可以被重傳。

        3 socket套接字

        Socket套接字主要是用于描述IP地址與端口,作為一個通信鏈的句柄,其目的在于實現(xiàn)不同計算機設(shè)備直接的網(wǎng)絡(luò)通信。在主機上一般都是運行了多個軟件,可以同時提供多種服務(wù),所以每一種服務(wù)都會打開一個socket并綁定到端口上,使得不同的端口能夠?qū)?yīng)不同的服務(wù)內(nèi)容。Socket連接過程中主要可以分為服務(wù)期監(jiān)聽、客戶端請求以及連接確定等三個步驟:

        (1)服務(wù)器監(jiān)聽:用于監(jiān)聽服務(wù)器是否處于等待連接狀態(tài)進行監(jiān)控的網(wǎng)絡(luò)狀態(tài);

        (2)客戶端請求,向客戶端的套接字發(fā)送連接請求;所以客戶端套接字必須要描述它所要連接的服務(wù)器套接字,指出相應(yīng)的服務(wù)器套接字地址與端口號后,向服務(wù)器端發(fā)送連接請求;

        (3)連接確定:當服務(wù)器端收到了客戶端套接字所發(fā)送的連接請求,為響應(yīng)客戶端套接字,需要建立一個新的線程并把服務(wù)器端套接字的地址與端口號發(fā)送給客戶端,當客戶端確定之后,便建立的連接。

        Socket套接字分為流式Socket(SOCK_STREAM)和數(shù)據(jù)報式Socket(SOCK_DGRAM),而這二者主要是針對TCP服務(wù)應(yīng)用以

        及UDP服務(wù)應(yīng)用。用于操作socket套接字,設(shè)計者通過下面幾個函數(shù)來實現(xiàn):

        (1)創(chuàng)建套接字函數(shù):int socket(int domain, int type, int protocol);

        (2)綁定地址的套接字函數(shù):int bind(SOCKET socket, const struct sockaddr* address, socklen_t address_len);

        (3)接受套接字函數(shù):int recv(SOCKET socket, char FAR* buf, int len, int flags);

        (4)發(fā)送套接字函數(shù):int sendto( SOCKET s, const char FAR* buf, int size, int flags, const struct sockaddr FAR* to, int tolen);

        (5)接受連接請求函數(shù):int accept( int fd, struct socketaddr* addr, socklen_t* len)。同上述的5個函數(shù)便可以實現(xiàn)網(wǎng)絡(luò)編程控制。

        4 結(jié)束語

        綜合上述,通過上述對網(wǎng)絡(luò)編程分析,重點針對TCP/IP協(xié)議以及socket套接字進行詳細的論述,可見對于網(wǎng)絡(luò)編程,主要要理解網(wǎng)絡(luò)協(xié)議構(gòu)架,并且掌握好套接字各種函數(shù)的使用,這樣才能做好網(wǎng)絡(luò)通信工作。

        參考文獻

        [1]張洪波,陳紅彬.Linux命令應(yīng)用大全[M].北京:清華大學(xué)出版社,2009:25-26.

        [2]趙善松.Linux常見問題解答[M].北京:人民郵電社,2001:63-68.

        [3]梁如軍.Redhat Linux 5網(wǎng)絡(luò)服務(wù)[M].北京:機械工業(yè)社,2004: 100-200.

        嚴謙(1990—),男,大學(xué)本科,現(xiàn)就讀于邵陽學(xué)院信息系通信工程12級,研究方向:通信工程。

        Network Programming tcp / ip protocol and socket discussion

        Abstract:With the continuous development of Internet technology, network communications become an important technology of Internet technology, so the current network programming technology as the core technology of the current development of Internet communications. Network programming primarily achieved through the use of socket programming between processes in Windows system network programming socket winscok, while in linux system is the most common socket socket, paper linux Network Programming the tcp, ip protocol and socket socket issues are discussed in detail.

        Keywords:network programming;tcp / ip protocol;socket socket

        作者簡介:

        亚洲av无码久久寂寞少妇| 日韩精品在线观看在线| 久久不见久久见www日本网| 亚洲va中文字幕| 亚洲国产18成人中文字幕久久久久无码av | 人妖啪啪综合av一区| 成人中文乱幕日产无线码 | 国产成人精品三级91在线影院 | 国产a∨天天免费观看美女 | 九九免费在线视频| 日本成人三级视频网站| 国产91色综合久久免费| 中文字幕久久久人妻无码| 91av国产视频| 丰满少妇一区二区三区专区| 蜜桃视频网站在线观看一区| 少妇高潮喷水久久久影院| 四虎永久免费影院在线| 亚洲天堂av另类在线播放| 久久综网色亚洲美女亚洲av| 玩弄放荡人妻少妇系列视频| 加勒比无码专区中文字幕| 中文字幕一区二区三区精品在线| 国产18禁黄网站免费观看| 久久久精品人妻久久影视| 日本久久久久| 一区二区激情偷拍老牛视频av| 国产对白国语对白| 成人做爰69片免费看网站| 中文字幕一区二区三区在线视频| 日韩精品在线一二三四区| 99精品人妻少妇一区二区| 國产AV天堂| 国产超碰在线91观看| 欧美激情综合色综合啪啪五月| 成全视频高清免费| 二区三区亚洲精品国产| 蜜桃18禁成人午夜免费网站| 久久久久久人妻毛片a片| 精品久久久久久午夜| 中文字幕亚洲在线第一页|