国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

Java網(wǎng)絡(luò)編程探究|樂字節(jié)

Kahn / 3119人閱讀

摘要:換句話說,套接字起到通信端點(diǎn)的作用。單個(gè)套接字是一個(gè)端點(diǎn),而一對(duì)套接字則構(gòu)成一個(gè)雙向通信信道,使非關(guān)聯(lián)進(jìn)程可以在本地或通過網(wǎng)絡(luò)進(jìn)行數(shù)據(jù)交換。

大家好,我是樂字節(jié)小樂,上次給大家講述了Java中的IO流之輸出流|樂字節(jié),本文將會(huì)給大家講述網(wǎng)絡(luò)編程。

主要內(nèi)容如下:

網(wǎng)絡(luò)

網(wǎng)絡(luò)分層

列表項(xiàng)目

IP位置

端口port

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

一、 網(wǎng)絡(luò) 1、概念

網(wǎng)絡(luò)即將不同區(qū)域的電腦連接到一起, 組成局域網(wǎng)、城域網(wǎng)或廣域網(wǎng)。把分布在不同地理區(qū)域的計(jì)算機(jī)與專門的外部設(shè)備用通信線路互連成一個(gè)規(guī)模大、功能強(qiáng)的網(wǎng)絡(luò)系統(tǒng),從而使眾多的計(jì)算機(jī)可以方便地互相傳遞信息,共享硬件、軟件、數(shù)據(jù)信息等資源。

2、主要功能

? 資源共享
? 信息傳輸與集中處理
? 均衡負(fù)荷與分布處理

3、網(wǎng)絡(luò)通信協(xié)議

計(jì)算機(jī)網(wǎng)絡(luò)中實(shí)現(xiàn)通信必須有一些約定即通信協(xié)議,對(duì)速率、傳輸代碼、代碼結(jié)構(gòu)、傳

輸控制步驟、出錯(cuò)控制等制定標(biāo)準(zhǔn)。

4、網(wǎng)絡(luò)通信接口

為了使兩個(gè)結(jié)點(diǎn)之間能進(jìn)行對(duì)話,必須在它們之間建立通信工具(即接口),使彼此之間能進(jìn)行信息交換。接口包括兩部分:

? 硬件裝置: 實(shí)現(xiàn)結(jié)點(diǎn)之間的信息傳送;
? 軟件裝置: 規(guī)定雙方進(jìn)行通信的約定協(xié)議

二、 網(wǎng)絡(luò)分層

由于結(jié)點(diǎn)之間聯(lián)系很復(fù)雜,在制定協(xié)議時(shí),把復(fù)雜成份分解成 一些簡單的成份,再將它們復(fù)合起來。最常用的復(fù)合方式是層次方式,即同層間可以通信、上一層可以調(diào)用下一層,而與再下一層不發(fā)生關(guān)系。

1、 通信協(xié)議的分層

2、封裝

封裝:從上往下,加入相關(guān)層的協(xié)議控制信息

3、拆封

拆封:獲取數(shù)據(jù),從下往上,去除相關(guān)層的協(xié)議的控制信息

三、 IP位置

( IP) 是 Internet Protocol 的外語縮寫, 網(wǎng)絡(luò)之間互連的協(xié)議也就是為計(jì)算機(jī)網(wǎng)絡(luò)相互連接進(jìn)行通信而設(shè)計(jì)的協(xié)議。 在因特網(wǎng)中,它是能使連接到網(wǎng)上的所有計(jì)算機(jī)網(wǎng)絡(luò)實(shí)現(xiàn)相互通信的一套規(guī)則,規(guī)定了計(jì)算機(jī)在因特網(wǎng)上進(jìn)行通信時(shí)應(yīng)當(dāng)遵守的規(guī)則。任何廠家生產(chǎn)的計(jì)算機(jī)系統(tǒng),只要遵守 IP 協(xié)議就可以與因特網(wǎng)互連互通。

端口:區(qū)分?jǐn)?shù)據(jù)流向的軟件 0-65535 不要使用 1024 以下的端口 ,每一個(gè)協(xié)議擁有自己的端口,在同一個(gè)協(xié)議下端口不能重復(fù) FTP:21 HTTP:80

四、端口:port

端口是虛擬的概念,并不是說在主機(jī)上真的有若干個(gè)端口。通過端口,可以在一個(gè)主機(jī)上運(yùn)行多個(gè)網(wǎng)絡(luò)應(yīng)用程序。可以類比為:IP 相當(dāng)于公司,端口相當(dāng)于公司各部門,URL,相當(dāng)于各部門的人員。

五、資源的傳輸協(xié)議

TCP:TCP(transfer control protocol) 打電話 面向連接、安全、可靠,效率低
UDP:UDP(UserDatagramProtocol ) 發(fā)送短信 非面向連接、不安全、數(shù)據(jù)可能丟失 、效率高

六、網(wǎng)絡(luò)編程 1、InetAddress

封裝計(jì)算機(jī)的 ip 地址和 DNS( Domain Name System,域名系統(tǒng)) ,沒有端口。
1)、方法
InetAddress.getLocalHost();
InetAddress.getByName("http://www.163.com");
InetAddress.getByName("223.87.1.58")

2) 、方法
getHostAddress() 返回 ip 地址
getHostName() 返回域名|本機(jī)為計(jì)算機(jī)名

2、InetSocketAddress

包含端口,用于 socket 通信的
1) 、獲取對(duì)象
InetSocketAddress(String hostname, int port)
InetSocketAddress(InetAddress addr, int port)

2) 、方法
getAddress() 返回 InetAddress 對(duì)象
getPort() 返回端口
getHostName() 返回域名

3 、URL

1) 、URI(Uniform resource identifier)
統(tǒng)一資源標(biāo)識(shí)符, 用來唯一的標(biāo)識(shí)一個(gè)資源。

2) 、URL( Uniform Resource Locator)
統(tǒng)一資源定位器,它是一種具體的 URI 。統(tǒng)一資源定位符,由 4 部分組成:協(xié)議 、存
放資源的主機(jī)域名、資源文件名和端口號(hào)。 URL是指向互聯(lián)網(wǎng)“資源”的指針。資源可以是簡單的文件或目錄,也可以是對(duì)更為復(fù)雜的對(duì)象的引用,例如對(duì)數(shù)據(jù)庫或搜索引擎的查詢。

3) 、網(wǎng)絡(luò)爬蟲原理

public static void main(String[] args) throws IOException {
        URL url=new URL("http://www.baidu.com");//主頁    默認(rèn)資源
//獲取資源    網(wǎng)絡(luò)流      可能會(huì)出現(xiàn)亂碼:1、字節(jié)數(shù)不夠    2、編碼解碼格式不統(tǒng)一
        /*InputStream is=url.openStream();
        byte[]flush=new byte[1024];
        int len=0;
        while(-1!=(len=is.read(flush))){
            System.out.println(new String(flush,0,len));
        }
        is.close();*/
        BufferedReader br=new BufferedReader(new InputStreamReader(url.openStream(),"utf-8"));
        BufferedWriter bw=new BufferedWriter(new OutputStreamWriter(new FileOutputStream("baidu2.html"),"utf-8"));
        String msg=null;
        while((msg=br.readLine())!=null){
    //將網(wǎng)絡(luò)內(nèi)容下載到本地。然后進(jìn)行數(shù)據(jù)分析,建立索引,這也是搜索引擎的第一步。
            bw.append(msg);
            bw.newLine();//新增方法    插入換行符
        }
        bw.flush();//強(qiáng)制刷出
        bw.close();
        br.close();}
4、UDP編程: DatagramSocket DatagramPacket

UserDatagramProtocol,一種無連接的傳輸層協(xié)議,提供面向事務(wù)的簡單不可靠信息傳送服務(wù)。其特點(diǎn)為:非面向連接;傳輸不可靠;數(shù)據(jù)可能丟失。

1)、服務(wù)器:
①創(chuàng)建服務(wù)器 DatagramSocket類 +指定端口
②準(zhǔn)備接收容器 字節(jié)數(shù)組 +封裝成DatagramPacket數(shù)據(jù)包
③接收數(shù)據(jù)
④分析數(shù)據(jù)
⑤釋放資源

2)、客戶端:
①創(chuàng)建客戶端 DatagramSocket類 +指定端口
②準(zhǔn)備數(shù)據(jù) 字節(jié)數(shù)組
③封裝成數(shù)據(jù)包 需要指定包發(fā)送的地址+端口 即服務(wù)器地與端口
④發(fā)送數(shù)據(jù)
⑤釋放資源

5、TCP 編程:ServerSocket Socket

transfer control protocol,一種面向連接(連接導(dǎo)向)的、可靠的、基于字節(jié)流的傳輸層(Transport layer)通信協(xié)議的點(diǎn)到點(diǎn)的通信 。TCP 三次握手(Three-way Handshake),類似于撥打電話

1) 、特點(diǎn)

基于 tcp 協(xié)議,建立穩(wěn)定連接的點(diǎn)對(duì)點(diǎn)的通信;實(shí)時(shí)、快速、安全性高、占用系統(tǒng)資源多、效率低;“請(qǐng)求-響應(yīng)”模式:

a)、客戶端:在網(wǎng)絡(luò)通訊中,第一次主動(dòng)發(fā)起通訊的程序被稱作客戶端(Client)程序

b)、服務(wù)器:第一次通訊中等待連接的程序被稱作服務(wù)器端(Server)程序

? Socket:發(fā)送 TCP 消息

? ServerSocket:創(chuàng)建服務(wù)器

套接字是一種進(jìn)程間的數(shù)據(jù)交換機(jī)制。這些進(jìn)程既可以在同一機(jī)器上,也可以在通過網(wǎng)

絡(luò)連接的不同機(jī)器上。換句話說,套接字起到通信端點(diǎn)的作用。單個(gè)套接字是一個(gè)端點(diǎn),

而一對(duì)套接字則構(gòu)成一個(gè)雙向通信信道,使非關(guān)聯(lián)進(jìn)程可以在本地或通過網(wǎng)絡(luò)進(jìn)行數(shù)據(jù)

交換。一旦建立套接字連接,數(shù)據(jù)即可在相同或不同的系統(tǒng)中雙向或單向發(fā)送,直到其

中一個(gè)端點(diǎn)關(guān)閉連接

2) 、服務(wù)器:

①創(chuàng)建服務(wù)器 指定端口

②等待客戶端連接

③分析接收數(shù)據(jù)

3) 、客戶端:

①連接服務(wù)器: 創(chuàng)建客戶端 +指定服務(wù)器地址 +端口

②發(fā)送數(shù)據(jù)

樂字節(jié)原創(chuàng),轉(zhuǎn)載請(qǐng)注明出處。

關(guān)于網(wǎng)絡(luò)編程就講到這里了,更多Java干貨請(qǐng)繼續(xù)關(guān)注樂字節(jié)。

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://m.specialneedsforspecialkids.com/yun/75878.html

相關(guān)文章

  • Java多線程的概念以及優(yōu)缺點(diǎn)、多線程的地位

    摘要:注意很多多線程是模擬出來的,真正的多線程是指有多個(gè),即多核如服務(wù)器。對(duì)于目前的大家來說,線程掌握以下即可創(chuàng)建線程的方式停止線程簡單的關(guān)于多線程的概念和優(yōu)缺點(diǎn)就介紹到這,下一篇將會(huì)講講如何創(chuàng)建多線程。 大家好,樂字節(jié)小樂有來咯,上次說完了Java網(wǎng)絡(luò)編程探究|樂字節(jié),這次我們來看看線程相關(guān)的吧。 Java線程主要講述的內(nèi)容有:showImg(https://segmentfault.co...

    gitmilk 評(píng)論0 收藏0
  • 字節(jié)Java變量與數(shù)據(jù)結(jié)構(gòu)之一:Java編程規(guī)范、關(guān)鍵字和標(biāo)識(shí)符

    摘要:大家好,我是樂字節(jié)的小樂,這次要給大家?guī)淼氖亲兞颗c數(shù)據(jù)類型。本文是第一集編程規(guī)范,關(guān)鍵字與標(biāo)識(shí)符。后面我們要寫一個(gè)程序的過程。需求分析實(shí)現(xiàn)代碼體現(xiàn)注釋的作用解釋說明程序,提高了代碼的閱讀性。可以幫助我們調(diào)試程序。 大家好,我是樂字節(jié)的小樂,這次要給大家?guī)淼氖荍ava變量與數(shù)據(jù)類型。本文是第一集:Java編程規(guī)范,關(guān)鍵字與標(biāo)識(shí)符。showImg(https://segmentfaul...

    qianfeng 評(píng)論0 收藏0
  • 字節(jié)Java編程語言發(fā)展、面向?qū)ο蠛皖?/b>

    摘要:二面向?qū)ο蟾攀雒嫦蜻^程的設(shè)計(jì)思想和面向?qū)ο蟮脑O(shè)計(jì)思想我要吃魚香肉絲蓋飯面向過程我買菜我洗菜我切菜我放水我點(diǎn)火我做飯我炒菜。。。。 大家好,上次我們講過了樂字節(jié)Java編程之方法、調(diào)用、重載、遞歸,接下來我們將會(huì)進(jìn)入到Java封裝的內(nèi)容。Java編程語言發(fā)展,面向?qū)ο蠛皖悺?一、編程語言的發(fā)展 機(jī)器語言——直接由計(jì)算機(jī)的指令組成,指令、數(shù)據(jù)、地址都以0和1組成:可以被計(jì)算機(jī)直接識(shí)別并執(zhí)行...

    lufficc 評(píng)論0 收藏0
  • Java程序的編程與執(zhí)行、Java新手常見問題及解決方法|字節(jié)Java學(xué)習(xí)

    摘要:一的編寫新建一個(gè)文件的擴(kuò)展名顯示出來編寫代碼,以類為單位編寫,編寫入口函數(shù)方法類名最好與文件名一致程序的入口以分號(hào)結(jié)尾通過命令完成編譯操作需要寫文件的完整路徑運(yùn)行程序,運(yùn)行文件字節(jié)碼文件通過命令完成執(zhí)行如下命令其中是用來指定路徑。 今天,我們來寫一段Java程序。然后看看Java程序是如何執(zhí)行的,以及Java新手小白遇到的問題和解決辦法。 一、HelloWorld的編寫 ① 新建一個(gè)X...

    imingyu 評(píng)論0 收藏0
  • 字節(jié)Java之file、IO流基礎(chǔ)知識(shí)和操作步驟

    摘要:流分類由此可見,流很龐大從不同角度進(jìn)行分類數(shù)據(jù)分類按處理數(shù)據(jù)單位分為字節(jié)流和字符流。處理數(shù)據(jù)是音頻視頻文本等一切為字節(jié)流,僅能處理文本的為字符流。功能分類節(jié)點(diǎn)流和處理流。從向一個(gè)特定的設(shè)備磁盤網(wǎng)絡(luò)等讀寫數(shù)據(jù)的流稱為節(jié)點(diǎn)流,也常被稱為低級(jí)流。 嗨嘍,小樂又來了,今天要給大家送上的技術(shù)文章是Java重點(diǎn)知識(shí)-IO流。 先來看看IO流的思維導(dǎo)圖吧。showImg(https://segmen...

    pkhope 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<