日本综合一区二区|亚洲中文天堂综合|日韩欧美自拍一区|男女精品天堂一区|欧美自拍第6页亚洲成人精品一区|亚洲黄色天堂一区二区成人|超碰91偷拍第一页|日韩av夜夜嗨中文字幕|久久蜜综合视频官网|精美人妻一区二区三区

RELATEED CONSULTING
相關咨詢
選擇下列產(chǎn)品馬上在線溝通
服務時間:8:30-17:00
你可能遇到了下面的問題
關閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
JavaSocket編程:基本的術(shù)語和概念

計算機程序能夠相互聯(lián)網(wǎng),相互通訊,這使一切都成為可能,這也是當今互聯(lián)網(wǎng)存在的基礎。那么程序是如何通過網(wǎng)絡相互通信的呢?這就是我記錄這系列的筆記的原因。Java語言從一開始就是為了互聯(lián)網(wǎng)而設計的,它為實現(xiàn)程序的相互通信提供了許多有用API,這類應用編程接口被稱為套接字(Socket)。在開始學習Java Socket之前我們需要先來了解一下基本的術(shù)語和概念。

創(chuàng)新互聯(lián)公司-專業(yè)網(wǎng)站定制、快速模板網(wǎng)站建設、高性價比宣州網(wǎng)站開發(fā)、企業(yè)建站全套包干低至880元,成熟完善的模板庫,直接使用。一站式宣州網(wǎng)站制作公司更省心,省錢,快速模板網(wǎng)站建設找我們,業(yè)務覆蓋宣州地區(qū)。費用合理售后完善,10年實體公司更值得信賴。

1.計算機網(wǎng)絡

計算機網(wǎng)絡由一組通過通信信道(Communication channel)相互連接的機器組成。這些機器被稱為:主機(hosts)和路由器(routers):

  • 通信信道—— 是將字節(jié)序列從一個主機傳輸?shù)搅硪粋€主機的一種手段(有線、無線(WiFi)等方式)。
  • 主機—— 作用是運行程序的計算機。
  • 路由器—— 作用是將信息從一個通信信道傳遞或轉(zhuǎn)發(fā)到另一個通信信道。

TCP/IP網(wǎng)絡通信流程圖:

2.分組報文

  • 分組報文 —— 在網(wǎng)絡環(huán)境中由程序創(chuàng)建和解釋的字節(jié)序列。

3.協(xié)議

協(xié)議相當于相互通信的一種約定,協(xié)議規(guī)定了分組報文的交換方式和它們包含意義。

互聯(lián)網(wǎng)所使用的協(xié)議是 TCP/IP 協(xié)議,TCP/IP 協(xié)議族主要包括:

  • IP 協(xié)議(Internet Protocol,互聯(lián)網(wǎng)協(xié)議)
  • TCP 協(xié)議(Transmission Control Protocol,傳輸控制協(xié)議)
  • UDP 協(xié)議(User Datagram Protocol,用戶數(shù)據(jù)報協(xié)議)

IP協(xié)議

  • IP 協(xié)議 —— 是TCP/IP協(xié)議中唯一屬于網(wǎng)絡層的協(xié)議。將數(shù)據(jù)從一臺主機傳輸?shù)搅硪慌_主機。
  • IP 協(xié)議 —— 提供了一種數(shù)據(jù)服務:每組分組報文都有網(wǎng)絡獨立處理和分發(fā),類似于信件或包裹通過郵政系統(tǒng)發(fā)送一樣。
  • IP 協(xié)議 —— 是一個"盡力而為"(best-effort)的協(xié)議:它試圖分發(fā)每一個分組報文,在網(wǎng)絡傳輸過程中,偶爾也會發(fā)生丟失報文是報文順序打亂,或者重復發(fā)送報文的情況。  

在IP協(xié)議層之上是傳輸層(transport layer),它提供了兩種可選的協(xié)議:TCP協(xié)議和UDP協(xié)議,兩種協(xié)議都建立在IP層所提供的服務基礎上,二者也被稱為"端到端傳輸協(xié)議(end-to-end transport protocol)"根據(jù)應用程序協(xié)議(Application protocol)的不同需求,使用了不同的方式傳輸數(shù)據(jù)。二者都有一個共同的功能:尋址。TCP協(xié)議和UDP協(xié)議使用的地址叫做端口號(port number),是用來區(qū)分同一主機不同應用程序的。

TCP 協(xié)議

TCP協(xié)議能夠檢測和恢復IP層提供的主機到主機的信道中可能發(fā)生的報文丟失、重復以及其他錯誤。TCP協(xié)議是一種面向連接(connection oriented)協(xié)議:在使用它進行通信之前,兩個應用程序之間首先要建立一個TCP連接,這涉及兩臺相互通信的主機的TCP部件間完成的握手消息(handshake message)的交換。

UDP 協(xié)議

UDP協(xié)議并不嘗試對IP層產(chǎn)生的錯誤進行修復,它僅僅簡單拓展了IP協(xié)議,"盡力而為"的數(shù)據(jù)服務,使它能夠在應用程序之間工作,而不是在主機之間工作。使用UDP協(xié)議的應用程序需要對處理報文丟失、順序混亂等問題做好準備。

4.關于地址

在TCP/IP協(xié)議中,有兩部分信息用來定位一個指定的程序:互聯(lián)網(wǎng)地址(Internet address)和端口號(port number,范圍1-65535)。前者由IP協(xié)議使用,后者由傳輸協(xié)議(TCP/UDP)對其進行解析。

互聯(lián)網(wǎng)地址有二進制數(shù)字組成,有兩種形式:IPv4(32位)和IPv6(128位)。為了方便使用,兩個版本的IP協(xié)議有不同的表示方法:

  • IPv4地址被表示為一組為4個十進制數(shù),每兩個數(shù)之間用圓點隔開,這種表示方法叫做:點分形式(dotted-quad)。
  • IPv6地址的16個字節(jié)由幾組16進制的數(shù)字表示,這些十六進制數(shù)之間有分號隔開,每組數(shù)字分別代表了地址中的兩個字節(jié)。

回環(huán)地址

回環(huán)地址(loopback address)是被分配的一個特殊的回環(huán)接口(loopback interface),回環(huán)接口是一種虛擬設備,它的功能只是簡單的把發(fā)送給它的報文立即返回給發(fā)送者。如IPv4中的:127.0.0.1

5.域名系統(tǒng)(Domain Name System,DNS)和本地配置數(shù)據(jù)庫

DNS是一種分布式數(shù)據(jù)庫,它將向www.baidu.com這樣的域名映射到真實的互聯(lián)網(wǎng)地址和其他信息上。DNS協(xié)議允許連接到互聯(lián)網(wǎng)的主機通過TCP或者UDP協(xié)議從DNS數(shù)據(jù)庫獲取信息。

本地配置數(shù)據(jù)庫通常是一種與具體操作系統(tǒng)相關的機制,用來實現(xiàn)本地與互聯(lián)網(wǎng)地址的映射。

6.客戶端和服務器

客戶端(client)和服務器(server)這兩個術(shù)語分別代表了兩種角色:

  • 客戶端是通信的發(fā)起者,而服務器程序則被動等待客戶端發(fā)起通信,并對其作出響應。
  • 客戶端和服務器組成了應用程序。

7.什么是Socket(套接字)

Socket(套接字)是一種抽象層,應用程序通過它來發(fā)送和接受數(shù)據(jù),就像應用程序打開一個文件句柄,將數(shù)據(jù)讀寫到穩(wěn)定的存儲器上一樣。

在TCP/IP協(xié)議族中的主要Socket類型為:

  • 流套接字(stream socket):傳輸層使用TCP協(xié)議,提供了一個可信賴的字節(jié)流服務
  • 數(shù)據(jù)報套接字(datagram socket):傳輸層使用UDP協(xié)議,提供了一個"盡力而為"的數(shù)據(jù)報服務,最長一次可以發(fā)送65500個字節(jié)的數(shù)據(jù)。

參考資料:《TCP/IP Socket in Java》


網(wǎng)頁名稱:JavaSocket編程:基本的術(shù)語和概念
網(wǎng)頁路徑:http://www.dlmjj.cn/article/ccogpei.html