日韩性视频-久久久蜜桃-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》阅读笔记的全部內容,希望文章能夠幫你解決所遇到的問題。

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

主站蜘蛛池模板: 中文字幕人成乱码熟女香港 | 操操操操网 | 黑人vs亚洲人在线播放 | 国产7777777 | 日本少妇电影 | av中文天堂 | 久久视频免费看 | www.久久网| 翔田千里88av中文字幕 | 国产成人手机在线 | 久久av一区二区三区亚洲 | 国产成人免费电影 | 理论片国产 | 亚洲一级片免费看 | 亚洲精品在线电影 | 欧美影视一区二区 | 污污软件在线观看 | 中文字幕人妻无码系列第三区 | 国产乱子一区二区 | 国产精品久久久久久久成人午夜 | 波多野一区二区 | 四级毛片 | 日日干视频| 男人天堂资源 | 国产免费专区 | 97影视 | 欧洲性开放大片 | 一本一道久久综合 | 天天天天天天干 | 一级看片免费视频 | 激情图片在线观看 | 久久久久99精品成人片毛片 | 国产特级aaaaaa大片 | 欧美成人激情 | 国产一区二区三区在线 | 午夜天堂精品 | 亚洲中文字幕无码一区二区三区 | 美女久久久 | 欧美一区二区三区影视 | 日韩二区在线观看 | 欧美午夜小视频 | 超碰777| 国产成人精品a视频一区 | 日韩一区二区高清视频 | 97人人射 | 日韩欧美在线免费观看 | 丝袜av网站 | 欧美大浪妇猛交饥渴大叫 | 欧美一区2区三区4区公司 | 青青草成人免费在线视频 | 男人操女人逼逼视频 | 亚洲24p| 亚洲欧美一区二区视频 | 在线亚洲人成电影网站色www | 男男一级淫片免费播放 | 久热精品在线观看视频 | aa一级视频 | 打屁股调教视频 | 亚洲一区中文字幕在线 | 国产一级片在线 | av无毛| 97超碰在线免费观看 | 99国产精品久久久久99打野战 | 国产美女喷水视频 | 亚洲最大福利网站 | 少妇流白浆 | 粉嫩av| 中国亚洲老头同性gay男男… | 热久久国产 | 自拍偷拍999 | 999精品在线观看 | 一级肉体全黄毛片 | 精品久久99 | 免费av网址在线观看 | 特大黑人娇小亚洲女 | 伊人性视频 | 日韩精品一区二区三区网站 | 黄色小视屏 | 一级黄色免费毛片 | 免费看片成人 | 男人与雌性宠物交啪啪 | 狠狠躁夜夜躁人爽 | 一级小毛片| 色老头综合网 | 宅男的天堂 | 性生活一区 | 久久精品欧美一区二区 | 欧美影音| 国产视频99 | www.com操| 在线h片 | 亚洲综合色一区 | 亚洲毛片在线看 | 国产在线播放一区 | 日韩激情精品 | 福利一区二区在线 | 日韩福利网 | 手机在线观看免费av | 国产一区二区三区在线 |