日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

《TCP/IP Socket in C》阅读笔记

發布時間:2025/3/15 编程问答 20 豆豆
生活随笔 收集整理的這篇文章主要介紹了 《TCP/IP Socket in C》阅读笔记 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

什么是網絡套接字(Socket)?一時還真不好回答,而且網絡上也有各種解釋,莫衷一是。下文將以本人所查閱到的資料來說明一下什么是Socket。

Socket定義

  Socket在維基百科的定義:

A network socket is an endpoint of an inter-process communication across a computer network. Today, most communication between computers is based on the Internet Protocol; therefore most network sockets are Internet sockets.

  而在Oracle官網上的定義是:

A socket is one endpoint of a two-way communication link between two programs running on the network.

  其實他們想表達的都是這個意思:Socket是網絡上兩個程序雙向通訊連接的端點。

  那我們又該如何理解‘端點(endpoint)’一詞呢?

  在Unix/Linux中,一切皆文件。那對于這兩個操作系統而言,“端點”就是一個特殊的文件,也就是說Socket實際上就是文件。既然Socket是文件,那就可以用“打開open –> 讀寫write/read –> 關閉close”模式來操作它,一些socket函數就是對其進行的操作(讀/寫IO、打開、關閉)。更加詳細的介紹特摘錄自tutorialspoint:

Sockets allow communication between two different processes on the same or different machines. To be more precise, it's a way to talk to other computers using standard Unix file descriptors. In Unix, every I/O action is done by writing or reading a file descriptor. A file descriptor is just an integer associated with an open file and it can be a network connection, a text file, a terminal,or something else. To a programmer, a socket looks and behaves much like a low-level file descriptor. This is because commands such as read() and write() work with sockets in the same way they do with files and pipes.

  對于一個Socket而言,它至少需要3個參數來指定:

  1)通信的目的地址;

  2)使用的傳輸層協議(如TCP、UDP);

  3)使用的端口號。

Socket類型

  套接字類型是指創建套接字的應用程序要使用的通信服務類型。linux系統支持多種套接字類型,最常用的有以下三種:

  1)SOCK_STREAM:流式套接字,提供面向連接、可靠的數據傳輸服務,數據按字節流、按順序收發,保證在傳輸過程中無丟失、無冗余。TCP協議支持該套接字。

  2)SOCK_DGRAM:數據報套接字,提供面向無連接的服務,數據收發無序,不能保證數據的準確到達。UDP協議支持該套接字。

  3)SOCK_RAW:原始套接字。允許對低于傳輸層的協議或物理網絡直接訪問,例如可以接收和發送ICMP報文。常用于檢測新的協議。

  詳細可參考tutorialspoint。

Socket網絡層次

  這部分主要參考自《深入淺出Linux工具與編程》(余國平著)。

  下圖畫出了套接字位于網絡中的層次,它位于傳輸層以上、應用層以下。Socket編程正是通過一系列系統調用(Socket API)來完成應用層協議(如ftp、http)。

  

  圖:套接字層次圖

  套接字是對網絡中應用層進程之間的通信進行了抽象,提供了應用層進程利用網絡協議棧交換數據的機制。

Socket API

這里列出幾個參考文獻,篇幅太長,也不好復制

http://www.zmonster.me/notes/tcp-ip-socket-in-c.html

https://blog.csdn.net/G_BrightBoy/article/details/12854117

這兩個對socks做了比較詳細的描述。作網絡編程的可以參考這兩篇博文。

總結

以上是生活随笔為你收集整理的《TCP/IP Socket in C》阅读笔记的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 探花国产精品一区二区 | 亚洲黄在线观看 | 日韩中文字幕在线看 | 免费一区二区三区四区 | 青青操网站 | 性欧美大战久久久久久久久 | 欧美激情爱爱 | 韩国一级片在线观看 | 激情久久av | 日韩性网站 | 久久久久一区二区 | 成人久久久久久久 | 91av在线网站 | 网红福利视频 | 国产又粗又大又硬 | 日韩毛片网站 | 91免费网站视频 | 69国产| 欧美性爱视频久久 | 在线免费黄色网址 | 中文字幕无线精品亚洲乱码一区 | 日韩和的一区二区 | 欧美成人dvd在线视频 | 国产精品美女久久久久久久 | 调教奶奴| 中文字幕在线播 | 波多野结衣 久久 | 国产女人18水真多毛片18精品 | 中文字幕第31页 | 黄色一极毛片 | 一级片特黄 | 泽村玲子av | 亚洲少妇xxx | 亚洲综合视频在线播放 | 在线观看一区视频 | 成人免费一区二区 | 舔花蒂| 亚洲一区电影在线观看 | 91中文字幕在线播放 | 大奶一区二区 | 国产精品美女www爽爽爽 | 欧美一区二区三区日韩 | 中日一级片 | 欧美狠狠 | 小婕子伦流澡到高潮h | 操操操操操操 | 日本高清在线一区 | 天天天av| 69av一区二区三区 | 国产精品久久久久久久久久辛辛 | 天堂在线www| 亚洲精品一二区 | 日韩精品在线观看中文字幕 | 97人妻一区二区精品免费视频 | 黄色.com| 99久久久无码国产精品免费 | 欧美又粗又深又猛又爽啪啪九色 | 凹凸福利视频 | 久久国产a| 在线视频观看一区二区 | 一区二区三区色 | 欧美国产另类 | 亚色在线观看 | 午夜精品一区二区三区在线观看 | 青青色在线视频 | 欧美色亚洲 | 丰满人妻av一区二区三区 | 狠狠操狠狠摸 | 91视频大全 | 欧美精品久久久久久久多人混战 | 午夜精品一区二区三 | 蘑菇av| 免费视频精品 | 游戏涩涩免费网站 | 亚洲高清色| 亚洲福利社 | 亚洲大片免费观看 | 久久黄色网络 | 日本电影成人 | 末路1997全集免费观看完整版 | 国产三区在线播放 | 欧美裸体女人 | 午夜黄色大片 | 秘密基地动漫在线观看免费 | 老色鬼网站 | 日韩一级欧美 | 国产成人免费在线观看 | 在线观看av网站 | 在线三区 | 国产毛片久久久久久国产毛片 | 永久免费观看av | 国模大尺度自拍 | 国产五区| 草草影院在线 | 第一页国产 | 我的丝袜美腿尤物麻麻 | 久久免费少妇高潮99精品 | 超碰97在线看 | 性猛交xxxx乱大交孕妇印度 |