中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Internet 套接字(TCP、UDP) 基礎概念

發布時間:2020-07-03 20:36:21 來源:網絡 閱讀:392 作者:堅韌的石頭 欄目:編程語言

個人博客首頁(點擊查看詳情)-- https://blog.51cto.com/11495268
個人微信公眾號(點擊查看詳情)-- https://blog.51cto.com/11495268/2401194
????

1、簡介

????這個世界上有很多種套接字(socket)-- 如 DARPA Internet 地址(Internet 套接字)、本地節點的路徑名(Unix套接字)、CCITT X.25地址(X.25 套接字)等;Internet 套接字 是最具代表性的,也是最經典最常用的(我們日常中 提及套接字,指的都是 Internet 套接字);網絡編程 肯定 離開 套接字 這個概念,本文 描述 Internet 套接字(TCP、UDP) 基礎概念 相關 的基礎概念
????

2、Internet 套接字

????DARPA Internet 地址(Internet 套接字) 常用的套接字 主要有 流式套接字、數據報式套接字、原始套接字

  • 流式套接字(SOCK_STREAM) -- TCP
    • 提供面向連接的、可靠的傳輸服務,數據無差錯,無重復的發送,且按發送順序接收
  • 數據報式套接字(SOCK_DGRAM) -- UDP
    • 提供無連接服務,不提供無差錯保證,數據可能丟失或者重復,并且接收順序混亂
  • 原始套接字(SOCK_RAW)

????

3、流格式套接字(SOCK_STREAM)

3.1 概述

????流格式套接字(Stream Sockets)也叫 "面向連接的套接字",在代 碼中使用 SOCK_STREAM 表示;SOCK_STREAM 是一種可靠的、雙向的通信數據流,數據可以準確無誤地到達另一臺計算機,如果損壞或丟失,重新發送
????

3.2 特點

  • 數據在傳輸過程中不會消失
  • 數據是按照順序傳輸的
  • 數據的發送和接收不是同步的(也稱 "不存在數據邊界")
    ????

3.3 協議

????SOCK_STREAM 使用了 TCP 協議(The Transmission Control Protocol,傳輸控制協議),TCP 協議會控制你的數據按照順序到達并且沒有錯誤

  • TCP 用來確保數據的正確性
  • IP(Internet Protocol,網絡協議)用來控制數據如何從源頭到達目的地,也就是常說的 "路由"
    ????

3.4 數據的發送/接收

????發送端有自己的節奏,接收端也有自己的節奏,它們是不一致的(不管數據分幾次傳送過來,接收端只需要根據自己的要求讀取,不用非得在數據到達時立即讀取)
????

3.5 緩沖區

????流格式套接字的內部有一個緩沖區(也就是字符數組),通過 socket 傳輸的數據將保存到這個緩沖區;接收端在收到數據后并不一定立即讀取,只要數據不超過緩沖區的容量,接收端有可能在緩沖區被填滿以后一次性地讀取,也可能分成好幾次讀取
????

3.6 應用場景

????瀏覽器所使用的 http 協議就基于面向連接的套接字,因為必須要確保數據準確無誤,否則加載的 HTML 將無法解析
????

4、數據報式套接字(SOCK_DGRAM)

4.1 概述

????數據報格式套接字(Datagram Sockets)也叫 "無連接的套接字",在代碼中使用 SOCK_DGRAM 表示;計算機只管傳輸數據,不作數據校驗,如果數據在傳輸中損壞,或者沒有到達另一臺計算機,是沒有辦法補救的(也就是說,數據錯了就錯了,自身無法重傳)
????

4.2 特點

  • 強調快速傳輸而非傳輸順序
  • 傳輸的數據可能丟失也可能損毀
  • 限制每次傳輸的數據大小
  • 數據的發送和接收是同步的(也稱 "存在數據邊界")
    ????

4.3 數據的發送/接收

????"數據的發送和接收是同步的"(接收次數應該和發送次數相同)
????

4.4 協議

  • 它不使用 TCP 協議,而是使用 UDP 協議(User Datagram Protocol,用戶數據報協議)
  • 數據報套接字也使用 IP 協議作路由
    ????

4.5 應用場景

????QQ 視頻聊天和語音聊天就使用 SOCK_DGRAM 來傳輸數據

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

龙井市| 岳池县| 巴中市| 景德镇市| 延安市| 合阳县| 西充县| 交城县| 达日县| 历史| 武陟县| 永州市| 余干县| 宜良县| 土默特左旗| 怀宁县| 麻江县| 潞城市| 河源市| 白水县| 板桥市| 河东区| 青冈县| 桐柏县| 龙里县| 凯里市| 昭平县| 留坝县| 嘉义县| 开阳县| 鄯善县| 原平市| 临夏县| 丹寨县| 枣阳市| 济阳县| 抚顺市| 卓尼县| 祁阳县| 原阳县| 香港|