學習c#數據流相關,自然和套接字聯系在一起,便於深入領悟。 上來先看看實現套接字的相關類在msdn裡面的結構體系位置: 定義: 首先來自百度百科裡面是這樣定義的。套接字:多個TCP連接或多個應用程序進程可能需要通過同一個 TCP協議端口傳輸數據。為了區別不同的應用程序進程和連接,許多計算機操作系統為應用程序與TCP/IP協議交互提供了稱為套接字(Socket)的接口。 下面是自己理解。套接字:一個連接的兩個端點。也可以這樣理解,套接字是用來通信的或者說是用來數據交流的,既然要通信肯定有兩個端點,就像一個線段 的兩個端點一樣,也就像從我家到你家一樣,這條線段的兩個端點,就俗稱做所謂的套接字。 分類: 其中的一種分類是這樣的:流式套接字、數據包套接字、原始套接字。這是按照構造函數中的第二個參數來分類的。 但是我覺得這樣的分類不是很好,我更喜歡下面的分類方式:面向連接的套接字、無連接的套接字。這裡是按照第三個參數來分類的。 其實這兩種分類方式都是根據Socket類的構造函數的參數來分類的。 Socket類的構造函數為: public Socket( AddressFamilyaddressFamily, //網絡類型 SocketTypesocketType, //套接字類型 ProtocolTypeprotocolType); //使用的協議 測試用例代碼: 面向連接套接字實現: 無連接套接字: