国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

Java網(wǎng)絡(luò)編程 - 網(wǎng)絡(luò)編程介紹 - 網(wǎng)絡(luò)通信三要素

這篇具有很好參考價(jià)值的文章主要介紹了Java網(wǎng)絡(luò)編程 - 網(wǎng)絡(luò)編程介紹 - 網(wǎng)絡(luò)通信三要素。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

網(wǎng)絡(luò)編程

網(wǎng)絡(luò)編程介紹

什么是網(wǎng)絡(luò)編程?

網(wǎng)絡(luò)編程可以讓程序與網(wǎng)絡(luò)上的其他設(shè)備中的程序進(jìn)行數(shù)據(jù)交互。

網(wǎng)絡(luò)編程基本模式:

常見的通信模式有如下2種形式:Client-Server(CS: 客戶端與服務(wù)器模式) 、 Browser/Server(BS: 瀏覽器與服務(wù)器模式)

Client-Server(CS)模式

Java網(wǎng)絡(luò)編程 - 網(wǎng)絡(luò)編程介紹 - 網(wǎng)絡(luò)通信三要素,JavaSE,網(wǎng)絡(luò),java,網(wǎng)絡(luò)協(xié)議

Browser/Server(BS)模式

Java網(wǎng)絡(luò)編程 - 網(wǎng)絡(luò)編程介紹 - 網(wǎng)絡(luò)通信三要素,JavaSE,網(wǎng)絡(luò),java,網(wǎng)絡(luò)協(xié)議

網(wǎng)絡(luò)通信三要素

實(shí)現(xiàn)網(wǎng)絡(luò)編程關(guān)鍵的三要素:

IP地址:設(shè)備在網(wǎng)絡(luò)中的地址,是唯一的標(biāo)識(shí)。

端口:應(yīng)用程序在設(shè)備中唯一的標(biāo)識(shí)。

協(xié)議: 數(shù)據(jù)在網(wǎng)絡(luò)中傳輸?shù)囊?guī)則,常見的協(xié)議有UDP協(xié)議和TCP協(xié)議。

Java網(wǎng)絡(luò)編程 - 網(wǎng)絡(luò)編程介紹 - 網(wǎng)絡(luò)通信三要素,JavaSE,網(wǎng)絡(luò),java,網(wǎng)絡(luò)協(xié)議

要素一: IP地址

IP地址基本介紹

IP(Internet Protocol):全稱”互聯(lián)網(wǎng)協(xié)議地址”,是分配給上網(wǎng)設(shè)備的唯一標(biāo)志。

常見的IP分類為:IPv4和IPv6

IPV4

IPV4: 32位(四個(gè)字節(jié))

IPV4每個(gè)字節(jié)表示一個(gè)整數(shù), 每個(gè)整數(shù)之間使用逗號(hào)隔開

Java網(wǎng)絡(luò)編程 - 網(wǎng)絡(luò)編程介紹 - 網(wǎng)絡(luò)通信三要素,JavaSE,網(wǎng)絡(luò),java,網(wǎng)絡(luò)協(xié)議

IPV6

IPv6:128位(16個(gè)字節(jié)),由于IPV4不夠用, 所以出現(xiàn)了IPV6, IPV6號(hào)稱可以為地球每一粒沙子編號(hào)。

IPv6分成8個(gè)整數(shù),每個(gè)整數(shù)用四個(gè)十六進(jìn)制位表示, 數(shù)之間用冒號(hào)(:)分開。

Java網(wǎng)絡(luò)編程 - 網(wǎng)絡(luò)編程介紹 - 網(wǎng)絡(luò)通信三要素,JavaSE,網(wǎng)絡(luò),java,網(wǎng)絡(luò)協(xié)議

IP地址形式:

公網(wǎng)地址、和私有地址(局域網(wǎng)使用)。

192.168. 開頭的就是常見的局域網(wǎng)地址,范圍即為192.168.0.0–192.168.255.255,專門為組織機(jī)構(gòu)內(nèi)部使用。

IP常用命令:

ipconfig:查看本機(jī)IP地址

ping IP地址:檢查網(wǎng)絡(luò)是否連通

特殊的IP地址:

本機(jī)IP: 127.0.0.1或者localhost:稱為回送地址也可稱本地回環(huán)地址,只會(huì)尋找當(dāng)前所在本機(jī)。

IP地址的操作類

IP地址操作類InetAddress的使用

此類表示Internet協(xié)議(IP)地址。

InetAddress API如下:

名稱 說明
static InetAddress getLocalHost() 返回本主機(jī)的地址對(duì)象
static InetAddress getByName(String host) 得到指定主機(jī)的IP地址對(duì)象,參數(shù)是域名或者IP地址
getHostName() 獲取此IP地址的主機(jī)名
getHostAddress() 返回IP地址字符串
isReachable(int timeout) 在指定毫秒內(nèi)連通該IP地址對(duì)應(yīng)的主機(jī),連通返回true

前兩個(gè)靜態(tài)方法用于獲取地址對(duì)象

public static void main(String[] args) throws Exception {
    // 返回本機(jī)地址對(duì)象
    InetAddress ip1 = InetAddress.getLocalHost();
    System.out.println(ip1); // chenyqdeMacBook-Pro.local/127.0.0.1

    // 根據(jù)域名或IP地址返回地址對(duì)象
    InetAddress ip2 = InetAddress.getByName("www.baidu.com");
    System.out.println(ip2); // www.baidu.com/183.232.231.172
}

獲取地址對(duì)象后, 可以根據(jù)地址對(duì)象獲取主機(jī)名、地址字符串、是否連通等等。

public static void main(String[] args) throws Exception {
    // 返回本機(jī)地址對(duì)象
    InetAddress ip1 = InetAddress.getLocalHost();
    System.out.println(ip1); // chenyqdeMacBook-Pro.local/127.0.0.1

    // 主機(jī)名
    System.out.println(ip1.getHostName()); // chenyqdeMacBook-Pro.local
    // 主機(jī)地址
    System.out.println(ip1.getHostAddress()); // 127.0.0.1
    // 三秒內(nèi)是否連通
    System.out.println(ip1.isReachable(3000)); // true
}

要素二: 端口號(hào)

端口號(hào):

端口號(hào):標(biāo)識(shí)正在計(jì)算機(jī)設(shè)備上運(yùn)行的進(jìn)程(程序),被規(guī)定為一個(gè) 16 位的二進(jìn)制,范圍是 0~65535。

例如我們將IP地址看成是酒店名稱, 那么端口號(hào)就是房間號(hào); 有IP地址有端口號(hào)我們才可以準(zhǔn)確的找到運(yùn)行的程序

端口類型:

周知端口:0~1023,被預(yù)先定義的知名應(yīng)用占用(如:HTTP占用 80,F(xiàn)TP占用21)

注冊(cè)端口:1024~49151, 分配給用戶進(jìn)程或某些應(yīng)用程序。(如:Tomcat占 用8080,MySQL占用3306)

動(dòng)態(tài)端口:49152到65535,之所以稱為動(dòng)態(tài)端口,是因?yàn)樗话悴还潭ǚ峙淠撤N進(jìn)程,而是動(dòng)態(tài)分配。

注意:我們自己開發(fā)的程序選擇注冊(cè)端口,且一個(gè)設(shè)備中不能出現(xiàn)兩個(gè)程序的端口號(hào)一樣,否則出錯(cuò)

要素三: 協(xié)議

通信協(xié)議:

連接和通信數(shù)據(jù)的規(guī)則被稱為網(wǎng)絡(luò)通信協(xié)議

網(wǎng)絡(luò)通信協(xié)議有兩套參考模型:

OSI參考模型:世界互聯(lián)協(xié)議標(biāo)準(zhǔn),全球通信規(guī)范,由于此模型過于理想化,未能在因特網(wǎng)上進(jìn)行廣泛推廣。

TCP/IP參考模型(或TCP/IP協(xié)議):事實(shí)上的國際標(biāo)準(zhǔn)。

OSI參考模型 TCP/IP參考模型 各層對(duì)應(yīng) 面向操作
應(yīng)用層 應(yīng)用層 HTTP、FTP、DNS、SMTP… 應(yīng)用程序需要關(guān)注的:瀏覽器,郵箱。程序員一般在這一層開發(fā)
表示層
會(huì)話層
傳輸層 傳輸層 TCP、UDP… 選擇使用的TCP , UDP協(xié)議
網(wǎng)絡(luò)層 網(wǎng)絡(luò)層 IP、ICMP… 封裝源和目標(biāo)IP,進(jìn)行路徑選擇
數(shù)據(jù)鏈路層 數(shù)據(jù)鏈路層+物理 物理尋址、比特流… 物理設(shè)備中傳輸
物理層

傳輸層的兩個(gè)常見的協(xié)議:

TCP(Transmission Control Protocol) :傳輸控制協(xié)議

UDP(User Datagram Protocol):用戶數(shù)據(jù)報(bào)協(xié)議

TCP協(xié)議

TCP協(xié)議特點(diǎn):

使用TCP協(xié)議,必須雙方先建立連接,它是一種面向連接的可靠通信協(xié)議。

傳輸前,采用“三次握手”方式建立連接,所以是可靠的 。

在連接中可進(jìn)行大數(shù)據(jù)量的傳輸 。

連接、發(fā)送數(shù)據(jù)都需要確認(rèn),且傳輸完畢后,還需釋放已建立的連接,通信效率較低。

TCP協(xié)議通信場(chǎng)景:

對(duì)信息安全要求較高的場(chǎng)景,例如:文件下載、金融等數(shù)據(jù)通信

TCP會(huì)進(jìn)行三次握手確立連接:

第一次握手: 客戶端發(fā)送網(wǎng)絡(luò)包,服務(wù)端收到了。

  • 服務(wù)器端得出結(jié)論: 客戶端發(fā)送能力正常, 服務(wù)端接收能力正常

第二次握手: 服務(wù)端發(fā)包,客戶端收到了。

  • 客戶端得出結(jié)論: 服務(wù)端的發(fā)送能力和接收能力正常, 客戶端的發(fā)送能力和接收能力正常;
  • 但是此時(shí)服務(wù)端并不知道客戶端的接收能力是否正常, 所以就會(huì)進(jìn)行第三次握手

第三次握手: 客戶端發(fā)包,服務(wù)端收到了。

  • 服務(wù)端得出結(jié)論: 客戶端的接收、發(fā)送能力正常,服務(wù)器自己的發(fā)送、接收能力也正常。

Java網(wǎng)絡(luò)編程 - 網(wǎng)絡(luò)編程介紹 - 網(wǎng)絡(luò)通信三要素,JavaSE,網(wǎng)絡(luò),java,網(wǎng)絡(luò)協(xié)議

TCP會(huì)進(jìn)行四次揮手?jǐn)嚅_連接:

第一次揮手: 客戶端向服務(wù)端發(fā)送一個(gè)數(shù)據(jù)包

  • 告訴服務(wù)端:我要跟你斷開連接了,不會(huì)再給你發(fā)數(shù)據(jù)了;

第二次揮手: 服務(wù)端收到數(shù)據(jù)包后, 向客戶端發(fā)送一個(gè)數(shù)據(jù)包

  • 服務(wù)端告訴客戶端:我知道你要斷開了,但是我還有數(shù)據(jù)沒有發(fā)送完,等發(fā)送完了所有的數(shù)據(jù)就進(jìn)行第三次揮手

第三次揮手: 服務(wù)端向客戶端發(fā)送一個(gè)數(shù)據(jù)包

  • 這是服務(wù)端告訴客戶端:我的數(shù)據(jù)也發(fā)送完了,不再給你發(fā)數(shù)據(jù)了

第四次揮手: 客戶端收到數(shù)據(jù)包之后,一樣發(fā)送一個(gè) ACK 報(bào)文作為應(yīng)答; 并經(jīng)過一段時(shí)間發(fā)送確認(rèn)包

  • 至此斷開連接, 四次揮手結(jié)束

Java網(wǎng)絡(luò)編程 - 網(wǎng)絡(luò)編程介紹 - 網(wǎng)絡(luò)通信三要素,JavaSE,網(wǎng)絡(luò),java,網(wǎng)絡(luò)協(xié)議

UDP協(xié)議

UDP協(xié)議:

UDP是一種無連接、不可靠傳輸?shù)膮f(xié)議。

將數(shù)據(jù)源IP、目的地IP和端口封裝成數(shù)據(jù)包,不需要建立連接

每個(gè)數(shù)據(jù)包的大小限制在64KB內(nèi)

發(fā)送不管對(duì)方是否準(zhǔn)備好,接收方收到也不確認(rèn),故是不可靠的

可以廣播發(fā)送 ,發(fā)送數(shù)據(jù)結(jié)束時(shí)無需釋放資源,開銷小,速度快。

UDP協(xié)議通信場(chǎng)景:

語言通話, 視頻通話文章來源地址http://www.zghlxwxcb.cn/news/detail-782990.html

到了這里,關(guān)于Java網(wǎng)絡(luò)編程 - 網(wǎng)絡(luò)編程介紹 - 網(wǎng)絡(luò)通信三要素的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 【Java 網(wǎng)絡(luò)編程】網(wǎng)絡(luò)通信原理、TCP、UDP 回顯服務(wù)

    【Java 網(wǎng)絡(luò)編程】網(wǎng)絡(luò)通信原理、TCP、UDP 回顯服務(wù)

    互聯(lián)網(wǎng)從何而來? 這要追溯到上個(gè)世紀(jì) 50 - 60 年代,當(dāng)時(shí)正逢美蘇爭(zhēng)霸冷戰(zhàn), 核武器 給戰(zhàn)爭(zhēng)雙方提供了足夠的威懾力,想要保全自己,就要保證自己的 反制手段 是有效的。 如何保證能夠反擊: 保存指揮機(jī)構(gòu) 保存核彈頭和發(fā)射井 指揮機(jī)構(gòu)和核彈頭之間的通信鏈路 需要保證

    2023年04月10日
    瀏覽(33)
  • Java網(wǎng)絡(luò)編程-Socket實(shí)現(xiàn)數(shù)據(jù)通信

    Java網(wǎng)絡(luò)編程-Socket實(shí)現(xiàn)數(shù)據(jù)通信

    本文主要是為下一篇Websockt做鋪墊,大家了解socket的一些實(shí)現(xiàn)。 網(wǎng)絡(luò)編程是指利用計(jì)算機(jī)網(wǎng)絡(luò)進(jìn)行程序設(shè)計(jì)、開發(fā)的技術(shù)。網(wǎng)絡(luò)編程主要包含三個(gè)要素,分別是: IP地址和端口號(hào) 傳輸協(xié)議 Socket 在計(jì)算機(jī)網(wǎng)絡(luò)中,每臺(tái)計(jì)算機(jī)都有一個(gè)IP地址,用于唯一標(biāo)識(shí)該計(jì)算機(jī)在網(wǎng)絡(luò)中的

    2024年02月10日
    瀏覽(34)
  • Java網(wǎng)絡(luò)編程之IP,端口號(hào),通信協(xié)議(UDP,TCP)

    Java網(wǎng)絡(luò)編程之IP,端口號(hào),通信協(xié)議(UDP,TCP)

    ① C/S :客戶端/服務(wù)器 在用戶本地需要下載安裝客戶端程序,在遠(yuǎn)程有一個(gè)服務(wù)器端程序。 優(yōu)點(diǎn):畫面精美,用戶體驗(yàn)好 缺點(diǎn):用戶需要下載更新 ② B/S :瀏覽器/服務(wù)器 只需要一個(gè)瀏覽器,用戶通過指定網(wǎng)址訪問對(duì)應(yīng)的服務(wù)器。 優(yōu)點(diǎn):不需要開發(fā)客戶端,只需要頁面+服務(wù)

    2024年02月03日
    瀏覽(96)
  • 【Java】網(wǎng)絡(luò)編程與Socket套接字、UDP編程和TCP編程實(shí)現(xiàn)客戶端和服務(wù)端通信

    【Java】網(wǎng)絡(luò)編程與Socket套接字、UDP編程和TCP編程實(shí)現(xiàn)客戶端和服務(wù)端通信

    為什么需要網(wǎng)絡(luò)編程? 現(xiàn)在網(wǎng)絡(luò)普及程序越來越高,網(wǎng)絡(luò)上保存著我們?nèi)粘I钪行枰母鞣N資源,使用程序通過網(wǎng)絡(luò)來獲取這些資源的過程就需要網(wǎng)絡(luò)編程來實(shí)現(xiàn)。 什么是網(wǎng)絡(luò)編程? 網(wǎng)絡(luò)編程,指網(wǎng)絡(luò)上的主機(jī),通過不同的進(jìn)程以程序的方式實(shí)現(xiàn)網(wǎng)絡(luò)通信(網(wǎng)絡(luò)數(shù)據(jù)傳輸)

    2024年02月17日
    瀏覽(90)
  • 【Java網(wǎng)絡(luò)編程】基于UDP-Socket 實(shí)現(xiàn)客戶端、服務(wù)器通信

    【Java網(wǎng)絡(luò)編程】基于UDP-Socket 實(shí)現(xiàn)客戶端、服務(wù)器通信

    ? 哈嘍,大家好~我是你們的老朋友: 保護(hù)小周??? 本期為大家?guī)淼氖蔷W(wǎng)絡(luò)編程的 UDP Socket 套接字,基于 UDP協(xié)議的 Socket 實(shí)現(xiàn)客戶端服務(wù)器通信 ,Socket 套接字可以理解為是,傳輸層給應(yīng)用層提供的一組 API,如此程序,確定不來看看嘛~~ 本期收錄于博主的專欄 : JavaEE_保

    2024年02月02日
    瀏覽(111)
  • 網(wǎng)絡(luò)編程-Socket通信實(shí)現(xiàn)服務(wù)器與客戶端互傳文件(JAVA語言實(shí)現(xiàn))

    網(wǎng)絡(luò)編程-Socket通信實(shí)現(xiàn)服務(wù)器與客戶端互傳文件(JAVA語言實(shí)現(xiàn))

    在網(wǎng)絡(luò)通信協(xié)議下,實(shí)現(xiàn)網(wǎng)絡(luò)互連的不同計(jì)算機(jī)上運(yùn)行的程序間可以進(jìn)行數(shù)據(jù)交換. 網(wǎng)絡(luò)編程三要素:ip地址、端口、協(xié)議 ip地址: 每臺(tái)計(jì)算機(jī)指定的一個(gè)標(biāo)識(shí)符,127.0.0.1是回送地址,可以代表本機(jī)地址 ,一般用來測(cè)試使用 ipconfig:命令行中查看本機(jī)地址 ping ip地址:檢查網(wǎng)絡(luò)是

    2023年04月14日
    瀏覽(30)
  • 【深入淺出C#】章節(jié) 8: 網(wǎng)絡(luò)編程和遠(yuǎn)程通信:網(wǎng)絡(luò)編程和遠(yuǎn)程通信

    計(jì)算機(jī)網(wǎng)絡(luò)是指連接多臺(tái)計(jì)算機(jī)設(shè)備,通過通信鏈路共享資源和信息的系統(tǒng)。它構(gòu)建了一個(gè)相互連接的世界,使得人們可以在不同地點(diǎn)進(jìn)行數(shù)據(jù)交換和資源共享。網(wǎng)絡(luò)編程是指在計(jì)算機(jī)網(wǎng)絡(luò)中,使用編程語言進(jìn)行通信和數(shù)據(jù)傳輸?shù)募夹g(shù)。現(xiàn)代應(yīng)用中,網(wǎng)絡(luò)編程發(fā)揮著重要作用

    2024年02月12日
    瀏覽(22)
  • Java【網(wǎng)絡(luò)編程2】使用 TCP 的 Socket API 實(shí)現(xiàn)客戶端服務(wù)器通信(保姆級(jí)教學(xué), 附代碼)

    Java【網(wǎng)絡(luò)編程2】使用 TCP 的 Socket API 實(shí)現(xiàn)客戶端服務(wù)器通信(保姆級(jí)教學(xué), 附代碼)

    ??各位讀者好, 我是小陳, 這是我的個(gè)人主頁 ??小陳還在持續(xù)努力學(xué)習(xí)編程, 努力通過博客輸出所學(xué)知識(shí) ??如果本篇對(duì)你有幫助, 煩請(qǐng)點(diǎn)贊關(guān)注支持一波, 感激不盡 ?? 希望我的專欄能夠幫助到你: JavaSE基礎(chǔ): 基礎(chǔ)語法, 類和對(duì)象, 封裝繼承多態(tài), 接口, 綜合小練習(xí)圖書管理系統(tǒng)

    2024年02月05日
    瀏覽(32)
  • 《3.linux應(yīng)用編程和網(wǎng)絡(luò)編程-第8部分-3.8.網(wǎng)絡(luò)基礎(chǔ)》 3.8.1.網(wǎng)絡(luò)通信概述 3.8.3.網(wǎng)絡(luò)通信基礎(chǔ)知識(shí)2

    《3.linux應(yīng)用編程和網(wǎng)絡(luò)編程-第8部分-3.8.網(wǎng)絡(luò)基礎(chǔ)》 3.8.1.網(wǎng)絡(luò)通信概述 3.8.3.網(wǎng)絡(luò)通信基礎(chǔ)知識(shí)2

    ????進(jìn)程間通信: 管道 、 信號(hào)量、 共享內(nèi)存, 技術(shù)多,操作麻煩 ? ??線程就是解決 進(jìn)程間 通信 麻煩的事情,這是線程的 優(yōu)勢(shì) 3.8.1.網(wǎng)絡(luò)通信概述 3.8.1.1、從進(jìn)程間通信說起: 網(wǎng)絡(luò)域套接字socket , 網(wǎng)絡(luò)通信其實(shí)就是位于網(wǎng)絡(luò)中不同主機(jī)上面? ? ? ? ? ? ? ? ? ?的?

    2024年02月15日
    瀏覽(27)
  • 【網(wǎng)絡(luò)編程】網(wǎng)絡(luò)通信基礎(chǔ)——簡(jiǎn)述TCP/IP協(xié)議

    【網(wǎng)絡(luò)編程】網(wǎng)絡(luò)通信基礎(chǔ)——簡(jiǎn)述TCP/IP協(xié)議

    個(gè)人主頁:兜里有顆棉花糖 歡迎 點(diǎn)贊?? 收藏? 留言? 加關(guān)注??本文由 兜里有顆棉花糖 原創(chuàng) 收錄于專欄【網(wǎng)絡(luò)編程】【Java系列】 本專欄旨在分享學(xué)習(xí)網(wǎng)絡(luò)編程的一點(diǎn)學(xué)習(xí)心得,歡迎大家在評(píng)論區(qū)交流討論?? ip地址簡(jiǎn)單來說就是用來描述網(wǎng)絡(luò)上一個(gè)設(shè)備的所在位置。 端

    2024年02月04日
    瀏覽(35)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包