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

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

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

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

Socket通信正確流程是怎樣?

黃工的嵌入式技術(shù)圈 ? 來(lái)源:黃工的嵌入式技術(shù)圈 ? 作者:黃工的嵌入式技術(shù) ? 2020-01-16 10:33 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

我微信公開(kāi)之后,加我的人也越來(lái)越多,也就會(huì)經(jīng)常收到各種各樣的消息。

有些消息我看到之后立馬就回復(fù)了,有些消息我看到之后真的不想回復(fù)。比如:在嗎?

關(guān)于“在嗎?”這個(gè)問(wèn)題,我在這里統(tǒng)一回復(fù):以后微信找我有話直說(shuō),不要老是在嗎在嗎,不出意外的話,幾十年內(nèi)我都是在的。

三次握手,通信還是失敗了:

上面這個(gè)通信,三次握手都失敗了,看著確實(shí)讓人著急。當(dāng)然,本文說(shuō)的重點(diǎn)是:Socket網(wǎng)絡(luò)通信。

一、關(guān)于Socket

學(xué)習(xí)過(guò)網(wǎng)絡(luò)編程,或者網(wǎng)絡(luò)開(kāi)發(fā)的朋友都應(yīng)該聽(tīng)說(shuō)過(guò)socket。

socket又叫套接字,是一個(gè)抽象層,應(yīng)用程序可以通過(guò)它發(fā)送或接收數(shù)據(jù),可對(duì)其進(jìn)行像對(duì)文件一樣的打開(kāi)、讀寫(xiě)和關(guān)閉等操作。套接字允許應(yīng)用程序?qū)/O插入到網(wǎng)絡(luò)中,并與網(wǎng)絡(luò)中的其他應(yīng)用程序進(jìn)行通信。網(wǎng)絡(luò)套接字是IP地址與端口的組合。

Socket是網(wǎng)絡(luò)通訊經(jīng)常采用的一種方式,它不是一個(gè)具體的物件也不是像http類的通訊協(xié)議。你可以把它看成是一組基于TCP和UDP通信協(xié)議的接口,Socket其實(shí)就是一個(gè)門(mén)面模式,它把復(fù)雜的TCP/IP協(xié)議族隱藏在Socket接口后面,對(duì)用戶來(lái)說(shuō),一組簡(jiǎn)單的接口就是全部,讓Socket去組織數(shù)據(jù),以符合指定的協(xié)議。

二、Socket基本概念

在了解Socket之前你需要對(duì)計(jì)算機(jī)通訊的分層有個(gè)大概的了解,網(wǎng)絡(luò)七層協(xié)議,OSI:Open System Interconnection,也叫開(kāi)放式系統(tǒng)互聯(lián)參考模型。

這里不詳解OSI,放一張很好的圖分享給大家:

上面圖詳細(xì)講了基本整個(gè)計(jì)算機(jī)通信的分層架構(gòu),很多我也不了解沒(méi)我們只看我們關(guān)心的TCP/IP,其分層簡(jiǎn)化圖示如下:

三、理解Socket

好,了解了基本分層機(jī)構(gòu)后,我們現(xiàn)在來(lái)形象的理解一下Socket到底是什么。這里有一個(gè)很形象的實(shí)例可以幫助我們很好的理解Socket,以物流為例。

我們要傳送的數(shù)據(jù)就是物流中的貨物,ip就是發(fā)貨人和收貨人的聯(lián)系方式,那么Socket是什么?大家想想這送貨這這一流程還缺少啥?對(duì)呀,物流公司啊,對(duì)吧!物流公司就是那個(gè)Socket,他負(fù)責(zé)幫你處理送貨的瑣碎事情,比如你的貨物該怎么打包、該怎么防止易碎物品破碎、該用什么方式運(yùn)輸、等等,如果是境外貨物還牽涉到報(bào)關(guān)等等一系列復(fù)雜瑣碎的事情,這些物流公司(Socket)幫你處理好了。示意圖如下:

四、理解TCP與UDP的區(qū)別以及三次握手和四次揮手

然后我們來(lái)說(shuō)一下TCP和UDP的區(qū)別。前面講到Socket就相當(dāng)于是物流公司,那么TCP協(xié)議就相當(dāng)于是:假設(shè)你是寄貨方,你要寄給你朋友一份禮物,你首先得去物流公司去寄,這樣你在物流公司就相當(dāng)于建立了一個(gè)事物(Socket實(shí)例)。然后物流公司有兩種服務(wù)方式讓你選擇(TCP和UDP)。

先說(shuō)TCP,TCP這個(gè)協(xié)議它比較保守,物流公司說(shuō)我必須確保你朋友會(huì)接收這份禮物,不然它不送。于是物流公司就回去聯(lián)系你朋友。然后聯(lián)系內(nèi)容大致如下:

物流:你好,我這里有個(gè)你朋友寄的禮物要給你,你收嗎? 你朋友:OK,收,什么時(shí)候發(fā),多久到? 物流:現(xiàn)在就發(fā),大概要12小時(shí)到。

然后物流才開(kāi)始發(fā)貨,并且會(huì)給你們一個(gè)物流單號(hào),這個(gè)單號(hào)就是關(guān)于這份貨物你和你朋友的發(fā)貨收貨憑證。這就是所謂的三次握手。示意圖:

物流發(fā)送完后還會(huì)聯(lián)系你朋友,大致對(duì)話內(nèi)容:

物流:你好,貨物已發(fā)送,請(qǐng)注意查收 你朋友:好的。 貨物送到,你朋友:OK,貨物收到,你們可以結(jié)案 物流:好的,我結(jié)案了。

這就是所謂的四次揮手(拜拜);

(注釋:三次握手四次揮手這都是Socket在你建立的時(shí)候根據(jù)你選擇的協(xié)議確定好的)

這樣是不是很麻煩,估計(jì)也就順豐有這服務(wù)了,其他大部分公司還是沒(méi)有這么貼心的服務(wù)的,他們可能就是UDP協(xié)議方式了。

UDP比較簡(jiǎn)單,當(dāng)你用物流(Socket)寄貨物的時(shí)候物流公司并不會(huì)管你朋友是否能聯(lián)系上,是否愿意接收,它只負(fù)責(zé)將你的貨物發(fā)出去就完事。這中間是不需要通知你朋友的,你和你朋友也不需要有連接,這就是所謂的無(wú)連接。

五、兩種協(xié)議區(qū)別

UDP 常用于一次性傳輸比較少量數(shù)據(jù)的網(wǎng)絡(luò)應(yīng)用中,UDP 也常用于多媒體應(yīng)用(如 IP 電話、實(shí)時(shí)視頻會(huì)議、流媒體等),顯然,可靠數(shù)據(jù)傳輸對(duì)于這些應(yīng)用來(lái)說(shuō)并不是最重要的,但 TCP 的擁塞控制會(huì)導(dǎo)致數(shù)據(jù)出現(xiàn)較大的延遲,這是它們不能容忍的,我們最熟悉的視頻通話大部分就是用的UDP協(xié)議。

TCP面向連接,即發(fā)送數(shù)據(jù)之前需要建立連接,并且TCP是擁有擁塞機(jī)制的,當(dāng)前部分?jǐn)?shù)據(jù)還沒(méi)有被接收完,后部分的數(shù)據(jù)會(huì)被阻塞知道前部分?jǐn)?shù)據(jù)傳遞OK后才會(huì)繼續(xù)傳遞后半部分,所以通過(guò)TCP連接傳送的數(shù)據(jù),無(wú)差錯(cuò),不丟失,不重復(fù),且按序到達(dá);在數(shù)據(jù)完整性、安全性要求較高的場(chǎng)景需要使用TCP協(xié)議,比如你傳送重要辦公文件、圖片等,這些東西丟包都是會(huì)影響數(shù)據(jù)品質(zhì)的。

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

    關(guān)注

    18

    文章

    6311

    瀏覽量

    139518
  • Socket
    +關(guān)注

    關(guān)注

    1

    文章

    213

    瀏覽量

    36640
  • 物流
    +關(guān)注

    關(guān)注

    1

    文章

    318

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評(píng)論

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

    淺談衛(wèi)星通信的運(yùn)作流程

    其實(shí),衛(wèi)星通信遠(yuǎn)非 “衛(wèi)星直接連接電話” 那么簡(jiǎn)單 —— 從地面信號(hào)發(fā)出到終端接收,背后藏著一套精準(zhǔn)協(xié)同的 “天地協(xié)作” 邏輯。今天,我們就帶大家看懂衛(wèi)星通信的完整運(yùn)作流程
    的頭像 發(fā)表于 10-22 14:25 ?717次閱讀
    淺談衛(wèi)星<b class='flag-5'>通信</b>的運(yùn)作<b class='flag-5'>流程</b>

    rtthread v5.0.1 , at socket使用select函數(shù)不能監(jiān)控多個(gè)socket fd的問(wèn)題,怎么解決?

    我最近使用at socket ,at device 組件創(chuàng)建tcpclient,使用select函數(shù)實(shí)現(xiàn),發(fā)現(xiàn)select只能監(jiān)控一個(gè)socket fd,監(jiān)控兩個(gè)socket fd就不能正常接收
    發(fā)表于 10-13 06:05

    ESP8266 socket通信,串口溢出怎么解決?

    1、硬件平臺(tái):原子精英板 stm32f103zet6+esp8266 開(kāi)發(fā)板作為client,網(wǎng)絡(luò)調(diào)試助手模擬server 學(xué)習(xí)研究AT SOCKET有一段時(shí)間了,之前逛論壇提問(wèn)解決了一些問(wèn)題。遇到
    發(fā)表于 09-28 13:42

    alloc_socket在不斷創(chuàng)建socket時(shí)會(huì)不斷新建信號(hào)量和互斥鎖,導(dǎo)致內(nèi)存泄漏,怎么解決?

    alloc_socket在不斷創(chuàng)建socket時(shí)會(huì)不斷新建信號(hào)量和互斥鎖,導(dǎo)致內(nèi)存泄漏。 修改前: static struct wiz_socket *alloc_socket(vo
    發(fā)表于 09-10 08:22

    請(qǐng)問(wèn)at_device不用at socket能使用bsd socket嗎?

    at_device不用at socket能使用bsd socket嗎?
    發(fā)表于 09-10 08:04

    GraniStudio : TCP/IP(Socket)協(xié)議深度剖析

    在工業(yè)自動(dòng)化與物聯(lián)網(wǎng)領(lǐng)域,TCP/IP(Socket)協(xié)議作為應(yīng)用最廣泛的網(wǎng)絡(luò)通信標(biāo)準(zhǔn),是實(shí)現(xiàn)設(shè)備間數(shù)據(jù)交互的核心技術(shù)。GraniStudio 軟件作為工業(yè)級(jí)零代碼開(kāi)發(fā)平臺(tái),其內(nèi)置的 TCP/IP
    的頭像 發(fā)表于 08-03 22:20 ?877次閱讀
    GraniStudio : TCP/IP(<b class='flag-5'>Socket</b>)協(xié)議深度剖析

    第二十五章 W55MH32 TCP_Server_Multi_Socket示例

    本文講解了如何在 W55MH32?芯片上使用 8?個(gè) socket?實(shí)現(xiàn) TCP?服務(wù)器模式,讓多個(gè)客戶端連接進(jìn)行數(shù)據(jù)回環(huán)測(cè)試,通過(guò)實(shí)戰(zhàn)例程展示了從初始化 socket?到監(jiān)聽(tīng)端口、處理客戶端連接
    的頭像 發(fā)表于 07-24 16:10 ?702次閱讀
    第二十五章 W55MH32 TCP_Server_Multi_<b class='flag-5'>Socket</b>示例

    第二十四章 W55MH32TCP_Client_Multi_Socket示例

    本文講解了如何在 W55MH32?芯片上使用 8?個(gè) socket?實(shí)現(xiàn) TCP?客戶端模式,同時(shí)連接 1?個(gè)服務(wù)器進(jìn)行數(shù)據(jù)回環(huán)測(cè)試,通過(guò)實(shí)戰(zhàn)例程展示了從初始化 socket?到建立連接、數(shù)據(jù)交互
    的頭像 發(fā)表于 07-24 16:08 ?601次閱讀
    第二十四章 W55MH32TCP_Client_Multi_<b class='flag-5'>Socket</b>示例

    CPU Socket的基本結(jié)構(gòu)和工作原理

    CPU Socket是連接中央處理單元(CPU)與計(jì)算機(jī)主板之間的關(guān)鍵部件,它充當(dāng)著傳遞電信號(hào)、電源和散熱等多重功能的樞紐。在整個(gè)計(jì)算機(jī)系統(tǒng)中,CPU Socket的作用至關(guān)重要,尤其在高性能計(jì)算
    的頭像 發(fā)表于 05-08 17:14 ?1827次閱讀

    在KaihongOS應(yīng)用開(kāi)發(fā)中,如何利用Socket進(jìn)行數(shù)據(jù)傳輸

    參考:@ohos.net.socket (Socket連接)。 應(yīng)用 TCP/UDP 協(xié)議進(jìn)行通信 UDP 與 TCP 流程大體類似,下面以 TCP 為例: import 需要的
    發(fā)表于 05-08 07:25

    智慧路燈的安裝流程怎樣

    了新的活力。而規(guī)范、科學(xué)的安裝流程,則是確保叁仟智慧路燈能夠穩(wěn)定運(yùn)行、充分發(fā)揮其功能的基礎(chǔ)。深入了解叁仟智慧路燈的安裝流程,不僅有助于施工團(tuán)隊(duì)高效開(kāi)展工作,更能為智慧城市建設(shè)的穩(wěn)步推進(jìn)提供有力保障。接下來(lái),將從前期規(guī)劃
    的頭像 發(fā)表于 04-27 17:22 ?688次閱讀

    ADS1210的校準(zhǔn)功能怎么使用?具體的流程怎樣

    請(qǐng)問(wèn),ADS1210的校準(zhǔn)功能怎么使用?具體的流程怎樣? 如果在開(kāi)始就設(shè)置好校準(zhǔn)模式為 Self-Calibration 模式,那么在讀 DOR 的過(guò)程中,需要對(duì) OCR 或 FCR操作嗎?
    發(fā)表于 02-07 07:22

    hyper-v 關(guān)閉,hyper-v的正確使用流程

    ? ? 在企業(yè)的IT基礎(chǔ)設(shè)施中,Hyper-V虛擬機(jī)的地位愈發(fā)重要。今天給大家介紹hyper-v的正確使用流程? ? ?hyper-v的正確使用流程? ? ?啟用Hyper-V,Win
    的頭像 發(fā)表于 01-22 15:04 ?919次閱讀
    hyper-v 關(guān)閉,hyper-v的<b class='flag-5'>正確</b>使用<b class='flag-5'>流程</b>

    【AI技術(shù)支持】ESP8684-WROOM-01C模組socket綁定失敗問(wèn)題處理

    啟明云端/01問(wèn)題描述在溫濕度器產(chǎn)品上使用ESP8684-WROOM-01C-H4模組,ESP-IDF版本為idf5.1時(shí),模擬web配網(wǎng)在網(wǎng)絡(luò)不穩(wěn)定環(huán)境下,dns服務(wù)循環(huán)創(chuàng)建和關(guān)閉socket
    的頭像 發(fā)表于 12-04 01:00 ?1160次閱讀
    【AI技術(shù)支持】ESP8684-WROOM-01C模組<b class='flag-5'>socket</b>綁定失敗問(wèn)題處理

    DP83869HM光口操作的正確流程怎樣的?

    2100 to 0/Force mode OPMODE[2:0]=0x1 讀C01[2]=1 但是有TX數(shù)據(jù),沒(méi)有RX數(shù)據(jù),還是PING不通。 麻煩您給個(gè)光口操作的正確流程:選哪種模式,寄存器怎么設(shè)置,STRAP怎么設(shè)置
    發(fā)表于 12-03 06:40