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

網(wǎng)絡(luò)協(xié)議TCP/IP是什么

這篇具有很好參考價(jià)值的文章主要介紹了網(wǎng)絡(luò)協(xié)議TCP/IP是什么。希望對大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

??????

1.什么是TCP/IP協(xié)議?它由哪些協(xié)議組成?

TCP/IP協(xié)議是互聯(lián)網(wǎng)上最常見的協(xié)議之一,它是一組通信協(xié)議的集合,包括傳輸控制協(xié)議(TCP)、互聯(lián)網(wǎng)協(xié)議(IP)以及其他相關(guān)協(xié)議。TCP/IP協(xié)議是互聯(lián)網(wǎng)上數(shù)據(jù)傳輸?shù)幕A(chǔ),幾乎所有的網(wǎng)絡(luò)應(yīng)用都依賴于它。

TCP/IP協(xié)議由以下幾個(gè)協(xié)議組成:

  1. IP協(xié)議(Internet Protocol):IP協(xié)議是TCP/IP協(xié)議中最核心的協(xié)議,它負(fù)責(zé)將數(shù)據(jù)包從源地址傳輸?shù)侥康牡刂?。IP協(xié)議是一種無連接的協(xié)議,它不保證數(shù)據(jù)包的可靠傳輸,也不保證數(shù)據(jù)包的順序。
  2. TCP協(xié)議(Transmission Control Protocol):TCP協(xié)議是一種面向連接的協(xié)議,它提供可靠的數(shù)據(jù)傳輸服務(wù)。TCP協(xié)議負(fù)責(zé)將數(shù)據(jù)分割成小的數(shù)據(jù)段,保證數(shù)據(jù)的可靠傳輸,還能夠控制數(shù)據(jù)的流量和處理網(wǎng)絡(luò)擁塞。
  3. UDP協(xié)議(User Datagram Protocol):UDP協(xié)議是一種無連接的協(xié)議,它不保證數(shù)據(jù)的可靠傳輸和順序,但是它的傳輸速度比TCP協(xié)議快。
  4. ARP協(xié)議(Address Resolution Protocol):ARP協(xié)議負(fù)責(zé)將IP地址轉(zhuǎn)換成物理地址,以便數(shù)據(jù)包能夠在網(wǎng)絡(luò)上正確傳輸。
  5. ICMP協(xié)議(Internet Control Message Protocol):ICMP協(xié)議是一種網(wǎng)絡(luò)管理協(xié)議,它用于傳遞網(wǎng)絡(luò)錯(cuò)誤和狀態(tài)信息,例如ping命令就是通過ICMP協(xié)議實(shí)現(xiàn)的。
  6. DNS協(xié)議(Domain Name System):DNS協(xié)議用于將域名解析成IP地址,以便數(shù)據(jù)包能夠正確傳輸。
  7. FTP協(xié)議(File Transfer Protocol):FTP協(xié)議是一種文件傳輸協(xié)議,它用于在網(wǎng)絡(luò)上傳輸文件。

除了上述的協(xié)議外,還有許多其他的協(xié)議,如HTTP協(xié)議、SMTP協(xié)議、POP協(xié)議等等,它們都是基于TCP/IP協(xié)議的,用于實(shí)現(xiàn)不同的網(wǎng)絡(luò)應(yīng)用和服務(wù)。

2.什么是三次握手四次揮手

TCP連接是指在TCP/IP協(xié)議中,建立起兩個(gè)網(wǎng)絡(luò)應(yīng)用程序之間的通信連接。TCP連接提供了可靠的數(shù)據(jù)傳輸,可以保證數(shù)據(jù)的完整性和順序性。TCP連接的建立和斷開過程如下:

2.1.建立連接(三次握手)

TCP連接的建立過程是通過三次握手(Three-way Handshake)來完成的。具體過程如下:

  • 第一步:客戶端向服務(wù)器發(fā)送一個(gè)SYN包,表示請求建立連接。SYN包中會(huì)攜帶一個(gè)隨機(jī)生成的序列號(Seq)。
  • 第二步:服務(wù)器收到SYN包后,向客戶端發(fā)送一個(gè)SYN+ACK包,表示確認(rèn)建立連接。SYN+ACK包中會(huì)攜帶一個(gè)確認(rèn)號(Ack),該確認(rèn)號等于客戶端的序列號加1,同時(shí)也會(huì)攜帶一個(gè)隨機(jī)生成的序列號。
  • 第三步:客戶端收到服務(wù)器的SYN+ACK包后,向服務(wù)器發(fā)送一個(gè)ACK包,表示確認(rèn)建立連接。ACK包中的確認(rèn)號等于服務(wù)器的序列號加1。

第 2 次握手傳回了 ACK,為什么還要傳回 SYN?

  1. 服務(wù)端傳回發(fā)送端所發(fā)送的 ACK 是為了告訴客戶端:“我接收到的信息確實(shí)就是你所發(fā)送的信號了”,這表明從客戶端到服務(wù)端的通信是正常的?;貍?SYN 則是為了建立并確認(rèn)從服務(wù)端到客戶端的通信。

2.2.三次握手各自出現(xiàn)問題,會(huì)發(fā)生什么結(jié)果?

第一次握手出現(xiàn)問題:第一個(gè)包,即A發(fā)給B的SYN 中途被丟,沒有到達(dá)B

客戶端發(fā)送SYN請求連接報(bào)文,如果遲遲等不到服務(wù)器的請求確認(rèn)報(bào)文段,那么就會(huì)進(jìn)行超時(shí)重傳,具體重傳幾次,要看tcp_syn_retries內(nèi)核參數(shù),一般默認(rèn)是5次。要注意的是,重傳的請求連接報(bào)文的seq序列號字段還是之前的seq,不會(huì)重新生成。

第二次握手出現(xiàn)問題:第二個(gè)包,即B發(fā)給A的SYN +ACK 中途被丟,沒有到達(dá)A

服務(wù)器發(fā)送的第二次握手是連接確認(rèn)報(bào)文段,既包括對第一次握手的ACK確認(rèn),同時(shí)還有SYN字段表示要建立連接,所以第二次握手也可以成為SYN-ACK報(bào)文。所以當(dāng)?shù)诙挝帐謥G失,客戶端遲遲等不到第一次握手的確認(rèn),就會(huì)觸發(fā)超時(shí)重傳機(jī)制,進(jìn)行超時(shí)重傳;服務(wù)器等不到自己SYN連接的確認(rèn),也會(huì)進(jìn)行超時(shí)重傳??蛻舳撕头?wù)器具體的超時(shí)重傳次數(shù)還是由內(nèi)核參數(shù)決定。

第三次握手出現(xiàn)問題:第三個(gè)包,即A發(fā)給B的ACK 中途被丟,沒有到達(dá)B

服務(wù)器得不到ACK報(bào)文,但是ACK報(bào)文丟失,ACK 報(bào)文是不會(huì)有重傳的,當(dāng) ACK 丟失了,就由對方重傳對應(yīng)的報(bào)文。所以當(dāng)?shù)竭_(dá)服務(wù)器的超時(shí)重傳時(shí)間后,服務(wù)器會(huì)超時(shí)重傳第二次報(bào)文,當(dāng)達(dá)到最大超時(shí)重傳次數(shù)還沒得到ACK報(bào)文,服務(wù)器就會(huì)斷開連接。

沒有連接時(shí)為Active狀態(tài)

2.3.斷開連接(四次揮手)

2.3.1TCP連接的斷開過程是通過四次揮手(Four-way Handshake)來完成的。具體過程如下:

  • 第一步:客戶端向服務(wù)器發(fā)送一個(gè)FIN包,表示請求關(guān)閉連接。
  • 第二步:服務(wù)器收到FIN包后,向客戶端發(fā)送一個(gè)ACK包,表示確認(rèn)關(guān)閉連接。服務(wù)器此時(shí)仍可向客戶端發(fā)送數(shù)據(jù)。
  • 第三步:服務(wù)器完成數(shù)據(jù)發(fā)送后,向客戶端發(fā)送一個(gè)FIN包,表示請求關(guān)閉連接。
  • 第四步:客戶端收到FIN包后,向服務(wù)器發(fā)送一個(gè)ACK包,表示確認(rèn)關(guān)閉連接。此時(shí)TCP連接徹底關(guān)閉。

總的來說,TCP連接的建立和斷開過程是通過三次握手和四次揮手來完成的。通過這些過程,TCP連接可以提供可靠的數(shù)據(jù)傳輸,保證數(shù)據(jù)的完整性和順序性,是一種非常重要的網(wǎng)絡(luò)協(xié)議。

2.4.用微信聊天的方式來模擬TCP連接的建立和斷開過程

2.4.1TCP連接的建立過程(三次握手):

  1. 客戶端:你好,我想和你建立連接,你能收到我的消息嗎?(發(fā)送一個(gè)“打招呼”的消息,表示想要建立連接)

  2. 服務(wù)器:嗯,我收到了你的消息,我也想和你建立連接,你能收到我的回復(fù)嗎?(回復(fù)一個(gè)“打招呼”的消息,并詢問能否收到)

  3. 客戶端:是的,我收到了你的回復(fù),我們現(xiàn)在可以開始建立連接了。(回復(fù)一個(gè)“確認(rèn)”的消息,表示同意建立連接)

????????此時(shí),客戶端和服務(wù)器之間的TCP連接已經(jīng)建立成功,可以開始進(jìn)行數(shù)據(jù)傳輸了。

2.4.2TCP連接的斷開過程(四次揮手):

  1. 客戶端:我想斷開和你的連接了,我不再發(fā)送消息了,但我還能接收你的消息。(發(fā)送一個(gè)“再見”的消息,表示想要斷開連接)

  2. 服務(wù)器:好的,我收到了你的消息,我也不會(huì)再發(fā)送消息了,但我還能接收你的消息。(回復(fù)一個(gè)“再見”的消息,表示同意斷開連接)

  3. 服務(wù)器:我已經(jīng)把所有的消息都發(fā)送完了,現(xiàn)在準(zhǔn)備關(guān)閉連接。(發(fā)送一個(gè)“好的,我已經(jīng)發(fā)送完消息了”的消息,表示準(zhǔn)備關(guān)閉連接)

  4. 客戶端:好的,我收到了你的消息,我也已經(jīng)把所有的消息都發(fā)送完了,現(xiàn)在準(zhǔn)備關(guān)閉連接。(回復(fù)一個(gè)“好的,我已經(jīng)發(fā)送完消息了”的消息,表示同意關(guān)閉連接)

????????此時(shí),客戶端和服務(wù)器之間的TCP連接已經(jīng)斷開成功,不再進(jìn)行數(shù)據(jù)傳輸。

2.5.為什么TCP不是兩次握手或四次握手

2.5.1.二次握手的過程:

  1. A 發(fā)送同步信號SYN + A's Initial sequence number
  2. B發(fā)送同步信號SYN+B's Initial sequence number+B's ACK sequence number

????????這里有個(gè)問題,A與B就A的初始序列號達(dá)成了一致,假設(shè)這里是1000.但是B無法知道A是否已經(jīng)收到自己的同步信息,如果這個(gè)同步信息丟失了,A和B就B的初始序列號將無法方達(dá)成一致。

  • 兩次握手問題:

    • 如果只進(jìn)行兩次握手,即客戶端發(fā)送連接請求,服務(wù)器回復(fù)確認(rèn),看似連接建立了。但這種簡化過程存在嚴(yán)重問題:若服務(wù)器的確認(rèn)消息在網(wǎng)絡(luò)中滯留,客戶端會(huì)誤以為連接已建立,而實(shí)際上服務(wù)器并未意識到這一連接。這可能導(dǎo)致資源浪費(fèi)或數(shù)據(jù)傳輸異常,因此需要第三次握手確認(rèn)雙方都準(zhǔn)備好建立連接。

2.5.2.四次握手過程:

  1. A發(fā)送同步信息SYN+A’s Initial sequence number
  2. B 確認(rèn)收到A的同步信號,并記錄 A’s ISN 到本地,命名 B’s ACK sequence number
  3. B發(fā)送同步信號SYN + B’s Initial sequence number
  4. A確認(rèn)收到B的同步信號,并記錄 B’s ISN 到本地,命名 A’s ACK sequence number

很顯然2和3 這兩個(gè)步驟可以合并,只需要三次握手,可以提高連接的速度與效率。

  • 四次握手問題:文章來源地址http://www.zghlxwxcb.cn/news/detail-861487.html

    • 如果采用四次握手,即在斷開連接時(shí)增加額外的握手步驟,會(huì)導(dǎo)致不必要的復(fù)雜性和開銷。TCP的設(shè)計(jì)考慮了在關(guān)閉連接時(shí)需要確保雙方都知道對方已準(zhǔn)備好斷開連接,同時(shí)也需要確認(rèn)數(shù)據(jù)的完整傳輸和狀態(tài)。因此,四次揮手是為了實(shí)現(xiàn)這些目標(biāo),確保數(shù)據(jù)的完整性和連接的正常關(guān)閉。

3.簡單的Java示例

3.1.服務(wù)端代碼:

import java.io.*;
import java.net.*;

public class TCPServer {
    public static void main(String[] args) {
        try {
            // 創(chuàng)建一個(gè)ServerSocket,監(jiān)聽端口9999
            ServerSocket serverSocket = new ServerSocket(9999);

            // 等待客戶端連接
            System.out.println("等待客戶端連接...");
            Socket clientSocket = serverSocket.accept();
            System.out.println("客戶端已連接");

            // 獲取輸入流
            BufferedReader input = new BufferedReader(new InputStreamReader(clientSocket.getInputStream()));

            // 讀取客戶端發(fā)送的數(shù)據(jù)
            String inputData = input.readLine();
            System.out.println("收到數(shù)據(jù): " + inputData);

            // 關(guān)閉連接
            serverSocket.close();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

3.2.客戶端代碼:

import java.io.*;
import java.net.*;

public class TCPClient {
    public static void main(String[] args) {
        try {
            // 連接到服務(wù)器
            Socket socket = new Socket("localhost", 9999);

            // 獲取輸出流
            PrintWriter output = new PrintWriter(socket.getOutputStream(), true);

            // 發(fā)送數(shù)據(jù)
            String message = "Hello, server!";
            System.out.println("發(fā)送數(shù)據(jù): " + message);
            output.println(message);

            // 關(guān)閉連接
            socket.close();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

到了這里,關(guān)于網(wǎng)絡(luò)協(xié)議TCP/IP是什么的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

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

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

相關(guān)文章

  • 【HTTP詳解】HTTP協(xié)議、TCP/IP、TCP協(xié)議究竟是什么?

    【HTTP詳解】HTTP協(xié)議、TCP/IP、TCP協(xié)議究竟是什么?

    部分資料來源: 《圖解HTTP》 HTTP(Hypertext Transfer Protocol) 是一種用于在網(wǎng)絡(luò)上傳輸數(shù)據(jù)的協(xié)議 ,它是萬維網(wǎng)的基礎(chǔ)。HTTP使用 客戶端-服務(wù)器模型 ,客戶端向服務(wù)器發(fā)送請求,服務(wù)器返回響應(yīng)。HTTP使用 TCP 作為其 傳輸協(xié)議 ,它默認(rèn)使用端口80。 TCP/IP是一個(gè) 協(xié)議族 ,包含一

    2024年02月05日
    瀏覽(24)
  • 【網(wǎng)絡(luò)協(xié)議】TCP/IP 協(xié)議

    【網(wǎng)絡(luò)協(xié)議】TCP/IP 協(xié)議

    1、TCP/IP 模型 TCP/IP 協(xié)議模型,包含了一系列構(gòu)成互聯(lián)網(wǎng)基礎(chǔ)的網(wǎng)絡(luò)協(xié)議,是 Internet 的核心協(xié)議。 基于 TCP/IP 協(xié)議??煞譃樗膶踊蛭鍖樱D(zhuǎn)換為 OSI 參考模型,可以分為七層,分別如下圖所示: 通常我們所說的都是基于 TCP/TP 五層模型。 2、TCP/IP 協(xié)議棧每一層功能 應(yīng)用層:H

    2024年02月12日
    瀏覽(105)
  • 網(wǎng)絡(luò)編程——TCP/IP協(xié)議族(IP協(xié)議、TCP協(xié)議和UDP協(xié)議……)

    1、IP協(xié)議簡介 IP協(xié)議又稱 網(wǎng)際協(xié)議 特指為實(shí)現(xiàn)在一個(gè)相互連接的網(wǎng)絡(luò)系統(tǒng)上從源地址到目的地傳輸數(shù)據(jù)包(互聯(lián)網(wǎng)數(shù)據(jù)包)所提供必要功能的協(xié)議,是網(wǎng)絡(luò)層中的協(xié)議。 2、特點(diǎn) 不可靠 :它不能保證IP數(shù)據(jù)包能成功地到達(dá)它的目的地,僅提供盡力而為的傳輸服務(wù) 無連接 :IP 并不

    2024年02月13日
    瀏覽(106)
  • 【網(wǎng)絡(luò)】- TCP/IP四層(五層)協(xié)議 - 網(wǎng)際層(網(wǎng)絡(luò)層) - 網(wǎng)際協(xié)議IP

    【網(wǎng)絡(luò)】- TCP/IP四層(五層)協(xié)議 - 網(wǎng)際層(網(wǎng)絡(luò)層) - 網(wǎng)際協(xié)議IP

    這篇文章主要介紹TCP/IP協(xié)議的網(wǎng)際層,上一篇文章介紹了數(shù)據(jù)鏈路層,數(shù)據(jù)鏈路層的主要作用是 在互連同一種數(shù)據(jù)鏈路的節(jié)點(diǎn)之間進(jìn)行包傳遞 。而網(wǎng)際層的主要作用是 實(shí)現(xiàn)終端節(jié)點(diǎn)(即使不在同一網(wǎng)絡(luò))的通信 。 網(wǎng)際層 有時(shí)也稱 網(wǎng)絡(luò)層 ,但由于網(wǎng)際層的作用中包含了“實(shí)現(xiàn)

    2024年02月06日
    瀏覽(38)
  • Java中網(wǎng)絡(luò)的基本介紹。網(wǎng)絡(luò)通信,網(wǎng)絡(luò),ip地址,域名,端口,網(wǎng)絡(luò)通信協(xié)議,TCP/IP傳輸過程,網(wǎng)絡(luò)通信協(xié)議模型,TCP協(xié)議,UDP協(xié)議

    Java中網(wǎng)絡(luò)的基本介紹。網(wǎng)絡(luò)通信,網(wǎng)絡(luò),ip地址,域名,端口,網(wǎng)絡(luò)通信協(xié)議,TCP/IP傳輸過程,網(wǎng)絡(luò)通信協(xié)議模型,TCP協(xié)議,UDP協(xié)議

    - 網(wǎng)絡(luò)通信 概念:網(wǎng)絡(luò)通信是指 通過計(jì)算機(jī)網(wǎng)絡(luò)進(jìn)行信息傳輸?shù)倪^程 ,包括數(shù)據(jù)傳輸、語音通話、視頻會(huì)議等。在網(wǎng)絡(luò)通信中,數(shù)據(jù)被分成一系列的數(shù)據(jù)包,并通過網(wǎng)絡(luò)傳輸?shù)侥康牡?。在?shù)據(jù)傳輸過程中,需要確保數(shù)據(jù)的完整性、準(zhǔn)確性和安全性。常見的網(wǎng)絡(luò)通信協(xié)議有T

    2024年02月10日
    瀏覽(32)
  • 網(wǎng)絡(luò):TCP/IP協(xié)議

    網(wǎng)絡(luò):TCP/IP協(xié)議

    1. OSI七層參考模型 ? ? ? ?應(yīng)用層 ????????表示層 ? ? ? ? 會(huì)話層 ? ? ? ? 傳輸層 ? ? ? ? 網(wǎng)絡(luò)層 ? ? ? ? 數(shù)據(jù)鏈路層 ? ? ? ? 物理層 2. TCP/IP模型 ????????應(yīng)用層 ? ? ? ? 傳輸層 ? ? ? ? 網(wǎng)絡(luò)層 ? ? ? ? 數(shù)據(jù)鏈路層 ? ? ? ? 物理層 3. 各鏈路層對應(yīng)的名稱 ???

    2024年02月15日
    瀏覽(93)
  • 【網(wǎng)絡(luò)原理】TCP/IP協(xié)議

    【網(wǎng)絡(luò)原理】TCP/IP協(xié)議

    目錄 1.應(yīng)用層 2.傳輸層(核心問題) 2.1 UDP協(xié)議 2.1.2 UDP的特點(diǎn) 2.1.3?基于UDP的應(yīng)用層協(xié)議 2.2 TCP協(xié)議(重點(diǎn)內(nèi)容) 2.2.1 TCP/IP 協(xié)議含義 2.2.2?TCP協(xié)議端格式: 2.2.3 TCP的特點(diǎn) 2.3?TCP原理 2.4?確認(rèn)應(yīng)答機(jī)制(安全機(jī)制) 2.5?超時(shí)重傳機(jī)制(安全機(jī)制) 2.5.1?數(shù)據(jù)直接丟了,接收方?jīng)]

    2023年04月13日
    瀏覽(38)
  • TCP協(xié)議IP網(wǎng)絡(luò)音柱

    SV-704CT TCP協(xié)議I P網(wǎng)絡(luò)音柱 一、描述 ?SV-704CT是深圳銳科達(dá)電子有限公司的一款壁掛式 IP網(wǎng)絡(luò)有源音柱 ,具有10/100M以太網(wǎng)接口,可將網(wǎng)絡(luò)音源通過自帶的功放和喇叭輸出播放,其采用防水設(shè)計(jì),功率可以從60W到120W。SV-704CT作為網(wǎng)絡(luò)廣播播放系統(tǒng)的終端,可用于需要廣播播放的

    2024年02月07日
    瀏覽(31)
  • 【網(wǎng)絡(luò)原理】TCP/IP協(xié)議(續(xù))

    【網(wǎng)絡(luò)原理】TCP/IP協(xié)議(續(xù))

    目錄 ??網(wǎng)絡(luò)層重點(diǎn)協(xié)議(IP 協(xié)議) 一、地址管理 1.如何解決上述地址不夠用問題? 2.NAT 機(jī)制 2.1?NAPT 2.2?在 NAT 背景下如何通信? 3.IPv6 4.IP地址 4.1?ABCDE類 4.2 子網(wǎng)掩碼 4.3 特殊的 IP 地址 二、路由選擇 1.路由器 1.1 網(wǎng)關(guān) 1.2 路由 ??數(shù)據(jù)鏈路層重點(diǎn)協(xié)議 1.以太網(wǎng) 1.1 認(rèn)識以太網(wǎng)

    2023年04月19日
    瀏覽(44)
  • 【網(wǎng)絡(luò)】- TCP/IP四層(五層)協(xié)議 - 網(wǎng)際層(網(wǎng)絡(luò)層) - IP地址

    【網(wǎng)絡(luò)】- TCP/IP四層(五層)協(xié)議 - 網(wǎng)際層(網(wǎng)絡(luò)層) - IP地址

    上篇文章簡單介紹了網(wǎng)際協(xié)議IP。網(wǎng)際協(xié)議 IP 大致分為三大作用模塊, ①IP尋址、 ②路由(最終節(jié)點(diǎn)為止的轉(zhuǎn)發(fā)) 、③IP分包與組包。 這篇文章主要詳細(xì)介紹IP地址的基礎(chǔ)知識。包括IP地址的組成、分類、廣播地址、多播、子網(wǎng)掩碼等。 在用 TCP/IP 通信時(shí), 用 IP地址 識別主

    2024年02月06日
    瀏覽(34)

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

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

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

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包