chinese直男口爆体育生外卖, 99久久er热在这里只有精品99, 又色又爽又黄18禁美女裸身无遮挡, gogogo高清免费观看日本电视,私密按摩师高清版在线,人妻视频毛茸茸,91论坛 兴趣闲谈,欧美 亚洲 精品 8区,国产精品久久久久精品免费

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

一文搞明白TCP協(xié)議與UDP協(xié)議(上)

jf_78858299 ? 來源:Linux云計(jì)算網(wǎng)絡(luò) ? 作者:Linux云計(jì)算網(wǎng)絡(luò) ? 2023-05-18 17:17 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

網(wǎng)絡(luò)編程有三個(gè)要素,分別是IP地址、端口號(hào)和通信協(xié)議,那本文主要講述的是TCP與UDP這兩種通信協(xié)議,以及編程的實(shí)現(xiàn)。

首先,我們需要了解一下IP地址、端口號(hào)、通信協(xié)議的相關(guān)知識(shí)。

一、IP地址

網(wǎng)絡(luò)中的計(jì)算機(jī)使用IP地址來進(jìn)行唯一標(biāo)識(shí),IP地址有IPv4和IPv6兩種類型。IPv4采用十進(jìn)制或二進(jìn)制表示形式,十進(jìn)制是一種比較常用的表示形式,如192.168.1.131,IPv6采用十六進(jìn)制表示形式,一般不常用。

如何查看IP地址相關(guān)信息:

在Windows系統(tǒng)下,打開cmd,輸入命令ipconfig,按回車即可查看。在Linux或Mac系統(tǒng)下,打開終端,使用ifconfig命令,按回車即可查看。

二、端口號(hào)

端口號(hào)是計(jì)算機(jī)中的應(yīng)用程序的一個(gè)整數(shù)數(shù)字標(biāo)號(hào),用來區(qū)分不同的應(yīng)用程序。

0 ~ 1024 未被系統(tǒng)使用或保留的端口號(hào),0 ~ 65535為有效的端口號(hào),也就是說我們要對(duì)一些程序定義端口號(hào)的時(shí)候,要選擇1024 ~ 65535范圍內(nèi)的整數(shù)數(shù)字。

比如,以前學(xué)過的MySQL的端口號(hào)是3306,SQLServer的端口號(hào)是1433,查了一下Oracle的端口號(hào)是1521。

一定要把這些數(shù)據(jù)庫(kù)對(duì)應(yīng)的端口號(hào),藏在深深的腦海里,以后在連接數(shù)據(jù)庫(kù)的時(shí)候,會(huì)使用到端口號(hào)。

三、通信協(xié)議

說得通俗一點(diǎn),通信協(xié)議就是網(wǎng)絡(luò)通信中的規(guī)則,分為TCP協(xié)議和UDP協(xié)議兩種。

第一種:TCP協(xié)議

英文名:Transmission Control Protocol 中文名:傳輸控制協(xié)議 協(xié)議說明:TCP是一種面向連接的、可靠的、基于字節(jié)流的傳輸層通信協(xié)議。

舉例:打電話,需要雙方都接通,才能進(jìn)行對(duì)話

特點(diǎn):效率低,數(shù)據(jù)傳輸比較安全

第二種:UDP協(xié)議

英文名:User Datagram Protocol 中文名:數(shù)據(jù)報(bào)協(xié)議 協(xié)議說明:UDP是一種面向無連接的傳輸層通信協(xié)議。

舉例:發(fā)短信,不需要雙方建立連接,But,數(shù)據(jù)報(bào)的大小應(yīng)限制在64k以內(nèi)

特點(diǎn):效率高,數(shù)據(jù)傳輸不安全,容易丟包

四、三要素關(guān)系圖與網(wǎng)絡(luò)模型圖

1、網(wǎng)絡(luò)編程三要素關(guān)系圖

圖片

注:圖中端口號(hào)、IP地址為演示,并非真實(shí)

2、OSI參考模型與TCP/IP參考模型

圖片

五、TCP編程

TCP是基于字節(jié)流的傳輸層通信協(xié)議,所以TCP編程是基于IO流編程。

對(duì)于客戶端,我們需要使用Socket類來創(chuàng)建對(duì)象。對(duì)于服務(wù)器端,我們需要使用ServerSocket來創(chuàng)建對(duì)象,通過對(duì)象調(diào)用accept()方法來進(jìn)行監(jiān)聽是否有客戶端訪問。

客戶端與服務(wù)器端圖解:

圖片

客戶端與服務(wù)器端實(shí)現(xiàn)步驟:

前提:創(chuàng)建一個(gè)項(xiàng)目,在項(xiàng)目中創(chuàng)建兩個(gè)模塊(model),一個(gè)模塊用來放客戶端相關(guān)代碼,一個(gè)模塊用來放服務(wù)器端相關(guān)代碼。

目錄結(jié)構(gòu)如下圖

圖片

客戶端

1、創(chuàng)建Socket對(duì)象,并指定服務(wù)器端應(yīng)用程序的端口號(hào)和服務(wù)器端主機(jī)的IP地址。

2、使用Socket的對(duì)象調(diào)用getOutputStream()方法來獲取字節(jié)輸出流對(duì)象。

3、調(diào)用字節(jié)輸出流的write(byte[] buf)或者write(int b)向服務(wù)器發(fā)送指定數(shù)據(jù)。

4、記得關(guān)閉流。

服務(wù)器端

1、創(chuàng)建ServerSocket對(duì)象,并指定該應(yīng)用程序的端口號(hào),端口號(hào)必須和客戶端指定的端口號(hào)一樣。

2、使用ServerSocket對(duì)象的accept()方法來監(jiān)聽客戶端發(fā)送過來的請(qǐng)求,返回值為Socket對(duì)象。

3、調(diào)用Socket對(duì)象的getInputStream()方法獲取字節(jié)輸入流對(duì)象

4、調(diào)用字節(jié)輸入流對(duì)象的read(byte[] buf)或read()方法獲取數(shù)據(jù)。

5、記得關(guān)閉流。

實(shí)例

客戶端向服務(wù)器端發(fā)送信息,并顯示在服務(wù)器端。

Client類(客戶端)

package cn.tkrnet.client;

import java.io.IOException;
import java.io.OutputStream;
import java.net.Socket;

public class Client {
    public static void main(String[] args) throws IOException {
        
        //創(chuàng)建Socket對(duì)象,指定要發(fā)送到服務(wù)器端的IP地址,以及服務(wù)器端應(yīng)用程序接收的端口號(hào)
        //localhost代表本機(jī)IP地址
        Socket client = new Socket("localhost",9000);
        
        //獲取輸出流,用于向服務(wù)器端發(fā)送數(shù)據(jù)
        OutputStream os = client.getOutputStream();
        
        os.write("Java is my friend !".getBytes());
        System.out.println("信息已發(fā)送");

        //關(guān)閉流
        os.close();
        client.close();
    }
}

s

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 通信協(xié)議
    +關(guān)注

    關(guān)注

    28

    文章

    1073

    瀏覽量

    41859
  • TCP
    TCP
    +關(guān)注

    關(guān)注

    8

    文章

    1417

    瀏覽量

    82983
  • UDP
    UDP
    +關(guān)注

    關(guān)注

    0

    文章

    331

    瀏覽量

    35192
  • ip地址
    +關(guān)注

    關(guān)注

    0

    文章

    308

    瀏覽量

    18830
  • 網(wǎng)絡(luò)編程
    +關(guān)注

    關(guān)注

    0

    文章

    72

    瀏覽量

    10856
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    TCP協(xié)議UDP協(xié)議對(duì)比 UDP協(xié)議的原理及應(yīng)用

    對(duì)延時(shí)或抖動(dòng)要求很高的情景下并不適用。為此,UDP(User Datagram Protocol,用戶數(shù)據(jù)報(bào)協(xié)議)被提出。UDP雖然應(yīng)用較為廣泛,比如DNS查詢等,但直不是重要的角色
    的頭像 發(fā)表于 10-26 15:05 ?4088次閱讀
    <b class='flag-5'>TCP</b><b class='flag-5'>協(xié)議</b>和<b class='flag-5'>UDP</b><b class='flag-5'>協(xié)議</b>對(duì)比 <b class='flag-5'>UDP</b><b class='flag-5'>協(xié)議</b>的原理及應(yīng)用

    linxu網(wǎng)絡(luò)協(xié)議分析:IP協(xié)議、TCP協(xié)議UDP協(xié)議

    本章節(jié)主要介紹linxu網(wǎng)絡(luò)模型、以及常用的網(wǎng)絡(luò)協(xié)議分析以太網(wǎng)協(xié)議、IP協(xié)議、TCP協(xié)議、UDP
    的頭像 發(fā)表于 10-28 16:44 ?4360次閱讀
    linxu網(wǎng)絡(luò)<b class='flag-5'>協(xié)議</b>分析:IP<b class='flag-5'>協(xié)議</b>、<b class='flag-5'>TCP</b><b class='flag-5'>協(xié)議</b>、<b class='flag-5'>UDP</b><b class='flag-5'>協(xié)議</b>

    通信必備知識(shí)!TCPUDP協(xié)議介紹及使用

    TCPUDP是兩個(gè)最常用的通訊協(xié)議。TCP是面向連接的協(xié)議,需要在收發(fā)數(shù)據(jù)前與對(duì)方建立可靠的連接,建立連接的過程為3次握手,斷開連接的過程
    的頭像 發(fā)表于 03-15 08:19 ?3023次閱讀
    通信必備知識(shí)!<b class='flag-5'>TCP</b>與<b class='flag-5'>UDP</b><b class='flag-5'>協(xié)議</b>介紹及使用

    TCP協(xié)議UDP協(xié)議的區(qū)別有哪些

    無法實(shí)現(xiàn);(3)TCP 協(xié)議有效載荷小于 UDP 協(xié)議(基于 MSS 計(jì)算),UDP 性能高于 TCP
    發(fā)表于 08-06 08:43

    TCPUDP協(xié)議簡(jiǎn)析

    、前言TCPUDP協(xié)議TCP/IP協(xié)議的核心。TCP
    發(fā)表于 12-15 08:13

    通訊協(xié)議TCPUDP協(xié)議使用方法

    通訊協(xié)議TCPUDP協(xié)議UDP會(huì)把數(shù)據(jù)股腦兒地發(fā)送出去,并不會(huì)在意是否全部收到,適用于廣播類
    發(fā)表于 01-21 14:53

    (WiFi干貨)WiFi模塊的TCPUDP協(xié)議

    TCPUDP都是網(wǎng)絡(luò)通信協(xié)議,也就是通信時(shí)都要遵守的規(guī)則,雙方在同規(guī)則下”交流”,才能理解或者為之服務(wù).?
    的頭像 發(fā)表于 09-11 09:02 ?3.1w次閱讀

    tcpudp協(xié)議的異同

    UDP 協(xié)議 UDP 協(xié)議是無連接、不可靠的個(gè)傳輸層協(xié)議。下圖是
    的頭像 發(fā)表于 11-12 14:45 ?4732次閱讀
    <b class='flag-5'>tcp</b>和<b class='flag-5'>udp</b><b class='flag-5'>協(xié)議</b>的異同

    TCP協(xié)議UDP協(xié)議的區(qū)別和相同點(diǎn)有哪些 看懂TCP協(xié)議UDP協(xié)議的優(yōu)缺點(diǎn)

    首先咱們弄清楚,TCP協(xié)議和UCP協(xié)議TCP/IP協(xié)議的聯(lián)系,很多人犯糊涂了,直都是說
    的頭像 發(fā)表于 05-26 14:35 ?1.1w次閱讀
    <b class='flag-5'>TCP</b><b class='flag-5'>協(xié)議</b>與<b class='flag-5'>UDP</b><b class='flag-5'>協(xié)議</b>的區(qū)別和相同點(diǎn)有哪些 <b class='flag-5'>一</b><b class='flag-5'>文</b>看懂<b class='flag-5'>TCP</b><b class='flag-5'>協(xié)議</b>與<b class='flag-5'>UDP</b><b class='flag-5'>協(xié)議</b>的優(yōu)缺點(diǎn)

    TCP協(xié)議UDP協(xié)議的區(qū)別

    TCP/IP協(xié)議中有兩個(gè)具有代表性的傳輸層協(xié)議,分別是TCP協(xié)議UDP
    的頭像 發(fā)表于 03-21 10:39 ?1638次閱讀

    明白TCP協(xié)議UDP協(xié)議(下)

    網(wǎng)絡(luò)編程有三個(gè)要素,分別是IP地址、端口號(hào)和通信協(xié)議,那本文主要講述的是TCPUDP這兩種通信協(xié)議,以及編程的實(shí)現(xiàn)。 首先,我們需要了解
    的頭像 發(fā)表于 05-18 17:17 ?1018次閱讀
    <b class='flag-5'>一</b><b class='flag-5'>文</b><b class='flag-5'>搞</b><b class='flag-5'>明白</b><b class='flag-5'>TCP</b><b class='flag-5'>協(xié)議</b>與<b class='flag-5'>UDP</b><b class='flag-5'>協(xié)議</b>(下)

    TCP協(xié)議UDP協(xié)議最核心的區(qū)別是什么?

    對(duì)于TCP協(xié)議UDP協(xié)議,大家應(yīng)該都有所耳聞。TCP協(xié)議
    發(fā)表于 06-15 09:37 ?1197次閱讀
    <b class='flag-5'>TCP</b><b class='flag-5'>協(xié)議</b>和<b class='flag-5'>UDP</b><b class='flag-5'>協(xié)議</b>最核心的區(qū)別是什么?

    udp是什么協(xié)議 TCPUDP的區(qū)別

    TCP協(xié)議提供可靠的數(shù)據(jù)傳輸,UDP協(xié)議提供盡量高效的數(shù)據(jù)傳輸。TCP協(xié)議通過使用序列號(hào)、確認(rèn)應(yīng)
    的頭像 發(fā)表于 06-26 17:47 ?1.2w次閱讀

    TCP/IP協(xié)議進(jìn)階課程:5、UDP協(xié)議

    電子發(fā)燒友網(wǎng)站提供《TCP/IP協(xié)議進(jìn)階課程:5、UDP協(xié)議.pdf》資料免費(fèi)下載
    發(fā)表于 07-31 11:48 ?0次下載
    <b class='flag-5'>TCP</b>/IP<b class='flag-5'>協(xié)議</b>進(jìn)階課程:5、<b class='flag-5'>UDP</b><b class='flag-5'>協(xié)議</b>

    TCP協(xié)議UDP協(xié)議的區(qū)別

    1. 連接性 TCP(傳輸控制協(xié)議) : 面向連接 :在數(shù)據(jù)傳輸之前,TCP需要建立個(gè)連接,這通過三次握手過程完成。 可靠性 :旦連接建
    的頭像 發(fā)表于 01-22 09:44 ?1697次閱讀