一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

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

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

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

誰來解答一下Socket究竟是什么?

strongerHuang ? 來源:strongerHuang ? 作者:strongerHuang ? 2021-05-23 15:03 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

網(wǎng)絡通信與我們生活息息相關,特別是今天發(fā)達的智能手機、物聯(lián)網(wǎng)這些都離不開網(wǎng)絡通信。今天分享一下關于Socket網(wǎng)絡通信的內(nèi)容。

1 關于Socket

學習過網(wǎng)絡編程,或者網(wǎng)絡開發(fā)的朋友都應該聽說過socket。

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

誰來解答一下Socket究竟是什么?

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

2 Socket基本概念

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

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

上面圖詳細講了基本整個計算機通信的分層架構,很多我也不了解沒我們只看我們關心的TCP/IP,其分層簡化圖示如下:

誰來解答一下Socket究竟是什么?

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

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

誰來解答一下Socket究竟是什么?

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

前面講到Socket就相當于是物流公司,那么TCP協(xié)議就相當于是:假設你是寄貨方,你要寄給你朋友一份禮物,你首先得去物流公司去寄,這樣你在物流公司就相當于建立了一個事物(Socket實例)。然后物流公司有兩種服務方式讓你選擇(TCP和UDP)。

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

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

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

誰來解答一下Socket究竟是什么?

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

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

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

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

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

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

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

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

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

責任編輯:lq6

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

    關注

    1

    文章

    212

    瀏覽量

    35804
  • TCP
    TCP
    +關注

    關注

    8

    文章

    1402

    瀏覽量

    80921
  • UDP
    UDP
    +關注

    關注

    0

    文章

    330

    瀏覽量

    34607
  • 端口
    +關注

    關注

    4

    文章

    1046

    瀏覽量

    32887

原文標題:Socket通信原理

文章出處:【微信號:strongerHuang,微信公眾號:strongerHuang】歡迎添加關注!文章轉載請注明出處。

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

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    超聲波液位計究竟是什么?

    液位計
    jzyb
    發(fā)布于 :2025年06月03日 16:10:12

    FOC電機控制究竟該如何學?

    學習FOC電機控制究竟是學哪些內(nèi)容? 電機知識 軟件知識 純分享貼,有需要可以直接下載附件獲取完整資料! (如果內(nèi)容有幫助可以關注、點贊、評論支持一下哦~)
    發(fā)表于 05-09 14:09

    帶你參觀一下射頻工程師的試驗臺

    大家好,每個射頻工程師都有個自己的試驗臺,別人的試驗臺究竟是什么樣子的呢?君鑒科技今天帶你參觀一下別人的試驗臺。看,工作起來多認真!靜電服
    的頭像 發(fā)表于 04-30 18:34 ?110次閱讀
    帶你參觀<b class='flag-5'>一下</b>射頻工程師的試驗臺

    室內(nèi)導航究竟是如何實現(xiàn)的

    作為物聯(lián)網(wǎng)智能硬件的引領者,云里物里當然不是來聊電影的,而是想借此機會,和大家探討一下:室內(nèi)導航究竟是如何實現(xiàn)的?它背后的技術原理是什么?接下來,讓我們起揭開室內(nèi)導航的神秘面紗。
    的頭像 發(fā)表于 02-12 13:50 ?496次閱讀

    ADS1298R PACE_OUT1和PACE_OUT2這兩條引腿究竟是輸入還是輸出?有什么用?怎樣使用?

    PACE_OUT1和PACE_OUT2這兩條引腿究竟是輸入還是輸出?有什么用?怎樣使用?
    發(fā)表于 02-12 07:56

    ΔΣADC的疑惑誰來解答一下?

    發(fā)送的計算是否正確?  謝謝你的耐心解答,我還有個問題,   1、在配置16個輸入為8差分時,AINCOM如何處理,接地還是懸空?   2、另外在差分模式MUXOUTP和MUXOUTN輸出接全差分運
    發(fā)表于 01-20 09:42

    關于ads8344有些問題誰來解答一下

    ADS8344關于ads8344有些問題想咨詢一下1、模擬輸入通道的輸入阻抗是多少 2、怎么配置為單端8路輸入,單端輸入的時候,數(shù)據(jù)位最高位是否還有效,是不是不再是表示正負,只是數(shù)據(jù)位。 3、電源
    發(fā)表于 01-20 08:25

    嵌入式和人工智能究竟是什么關系?

    嵌入式和人工智能究竟是什么關系? 嵌入式系統(tǒng)是種特殊的系統(tǒng),它通常被嵌入到其他設備或機器中,以實現(xiàn)特定功能。嵌入式系統(tǒng)具有非常強的適應性和靈活性,能夠根據(jù)用戶需求進行定制化設計。它廣泛應用于各種
    發(fā)表于 11-14 16:39

    PCM1861 INT腳究竟是輸出還是輸入?

    這個芯片activce或是idle. 是否有人解釋,INT腳究竟是輸出還是輸入。我希望是輸出,我需要讀取到是否有analog audio輸入的信息。 或者,輸入輸出與否還要靠其他什么地方設置? 盼望有人回復解答,不勝感激!
    發(fā)表于 10-29 07:29

    超高頻讀寫器究竟是什么,能做什么?文讀懂!

    在物聯(lián)網(wǎng)技術日新月異的今天,超高頻讀寫器作為射頻識別(RFID)技術的重要組成部分,正逐漸滲透到我們生活的各個領域。那么,超高頻讀寫器究竟是什么?它又能做些什么呢?本文將帶您一探究竟。、超高頻
    的頭像 發(fā)表于 10-23 14:41 ?746次閱讀
    超高頻讀寫器<b class='flag-5'>究竟是</b>什么,能做什么?<b class='flag-5'>一</b>文讀懂!

    揭秘貼片功率電感發(fā)燙究竟是不是燒壞了

    電子發(fā)燒友網(wǎng)站提供《揭秘貼片功率電感發(fā)燙究竟是不是燒壞了.docx》資料免費下載
    發(fā)表于 09-30 14:44 ?1次下載

    電感器線徑究竟是粗好還是細好

    電子發(fā)燒友網(wǎng)站提供《電感器線徑究竟是粗好還是細好.docx》資料免費下載
    發(fā)表于 09-20 11:25 ?0次下載

    運放輸入偏置電流的方向是流入運放芯片還是流出運放芯片?這個怎么確定的?

    圖,不知道是三極管還是MOS管組成的,這種情況怎么辦呢? 運放正負端的輸入偏置電流方向是致的吧? 請大俠幫忙解答一下,謝謝!
    發(fā)表于 08-23 07:29

    tas5756m使用GPIO口加內(nèi)部PLL產(chǎn)生MCLK的方法究竟是怎么樣的?

    tas5756m使用GPIO口加內(nèi)部PLL產(chǎn)生MCLK的方法究竟是怎么樣的?
    發(fā)表于 08-19 06:06

    蟬聯(lián)“第”背后,是vivo的“快樂飛輪”正循環(huán)

    “快樂公司”究竟是如何脫離紅海競爭?
    的頭像 發(fā)表于 07-30 08:24 ?3326次閱讀
    蟬聯(lián)“第<b class='flag-5'>一</b>”背后,是vivo的“快樂飛輪”正循環(huán)