引流推廣方案廈門seo外包平臺
目錄
一、Socket類
1.示例源碼
2.生成效果
二、TcpClient類和TcpListener類
1.示例源碼
2.生成效果
三、UdpClient類
1.示例源碼
2.生成效果
????????System.Net.Sockets命名空間主要提供制作Sockets網(wǎng)絡(luò)應(yīng)用程序的相關(guān)類,其中Socket類、TcpClient類、TcpListener類和UdpClient類較為常用。
一、Socket類
????????Socket類為網(wǎng)絡(luò)通信提供了一套豐富的方法和屬性,它主要用于管理連接,實現(xiàn)Berkeley通信端套接字接口。同時,它還定義了綁定、連接網(wǎng)絡(luò)端點及傳輸數(shù)據(jù)所需的各種方法,提供處理端點連接傳輸?shù)燃毠?jié)所需要的功能。WebRequest、TcpClient和UdpClient等類在內(nèi)部使用該類。
????????如果當前使用的是面向連接的協(xié)議(如TCP),則服務(wù)器可以使用Listen()方法偵聽連接;如果當前使用的是無連接協(xié)議(如UDP),則根本不需要偵聽連接。調(diào)用ReceiveFrom()方法可接受任何傳入的數(shù)據(jù)報。使用SendTo()方法可將數(shù)據(jù)報發(fā)送到遠程主機。
????????Socket類的常用屬性及說明如表:
屬 ??性 | 說 ???明 |
AddressFamily | 獲取Socket的地址族 |
Available | 獲取已經(jīng)從網(wǎng)絡(luò)接收且可供讀取的數(shù)據(jù)量 |
Connected | 獲取一個值,該值指示Socket是在上次Send還是Receive操作時連接到遠程主機 |
Handle | 獲取Socket的操作系統(tǒng)句柄 |
LocalEndPoin | 獲取本地終結(jié)點 |
ProtocolType | 獲取Socket的協(xié)議類型 |
RemoteEndPoin | 獲取遠程終結(jié)點 |
SendTimeou | 獲取或設(shè)置一個值,該值指定之后同步Send調(diào)用將超時的時間長度 |
????????Socket類的常用方法及說明如表:
???方 ??法 | 說 ??明 |
Accep | 為新建連接創(chuàng)建新的Socket |
??BeginAccep | 開始一個異步操作來接受一個傳入的連接嘗試 |
BeginConnect | 開始一個對遠程主機連接的異步請求 |
BeginDisconnect | 開始異步請求從遠程終結(jié)點斷開連接 |
BeginReceive | 開始從連接的Socket中異步接收數(shù)據(jù) |
BeginSend | 將數(shù)據(jù)異步發(fā)送到連接的Socke |
BeginSendFile | 將文件異步發(fā)送到連接的Socket對象 |
BeginSendTo | 向特定遠程主機異步發(fā)送數(shù)據(jù) |
Close | 關(guān)閉Socket連接并釋放所有關(guān)聯(lián)的資源 |
???Connect | 建立與遠程主機的連接 |
Disconnec | 關(guān)閉套接字連接并允許重用套接字 |
EndAccept | 異步接受傳入的連接嘗試 |
EndConnect | 結(jié)束掛起的異步連接請求 |
EndDisconnect | 結(jié)束掛起的異步斷開連接請求 |
EndReceive | 結(jié)束掛起的異步讀取 |
EndSend | 結(jié)束掛起的異步發(fā)送 |
EndSendFile | 結(jié)束文件的掛起異步發(fā)送 |
EndSendTo | 結(jié)束掛起的、向指定位置進行的異步發(fā)送 |
Listen | 將Socket置于偵聽狀態(tài) |
Receive | 接收來自綁定的Socket的數(shù)據(jù) |
Send | 將數(shù)據(jù)發(fā)送到連接的Socket |
???SendFile | 將文件和可選數(shù)據(jù)異步發(fā)送到連接的Socket |
SendTo | 將數(shù)據(jù)發(fā)送到特定終結(jié)點 |
???Shutdown | 禁用某Socket上的發(fā)送和接收 |
1.示例源碼
2.生成效果
二、TcpClient類和TcpListener類
????????TcpClient類用于在同步阻止模式下通過網(wǎng)絡(luò)來連接、發(fā)送和接收流數(shù)據(jù)。為使TcpClient連接并交換數(shù)據(jù),使用Tcp ProtocolType類創(chuàng)建的TcpListener實例或Socket實例必須偵聽是否有傳入的連接請求??梢允褂孟旅鎯煞N方法之一連接到該偵聽器。
? 創(chuàng)建一個TcpClient,并調(diào)用3個可用的Connect()方法之一。
? 使用遠程主機的主機名和端口號創(chuàng)建TcpClient,此構(gòu)造函數(shù)將自動嘗試一個連接。?
????????TcpListener類用于在阻止同步模式下偵聽和接受傳入的連接請求??墒褂肨cpClient類或Socket類來連接TcpListener,并且可以使用IPEndPoint、本地IP地址及端口號或者僅使用端口號來創(chuàng)建TcpListener實例對象。如果要在同步阻止模式下發(fā)送無連接數(shù)據(jù)報,請使用UdpClient類。
????????TcpClient類的常用屬性、方法及說明如表:
屬性及方法 | 說 ??明 |
Available屬性 | 獲取已經(jīng)從網(wǎng)絡(luò)接收且可供讀取的數(shù)據(jù)量 |
Client屬性 | 獲取或設(shè)置基礎(chǔ)Socket |
Connected屬性 | 獲取一個值,該值指示TcpClient的基礎(chǔ)Socket是否已連接到遠程主機 |
ReceiveBufferSize屬性 | 獲取或設(shè)置接收緩沖區(qū)的大小 |
ReceiveTimeout屬性 | 獲取或設(shè)置在初始化一個讀取操作以后TcpClient等待接收數(shù)據(jù)的時間量 |
SendBufferSize屬性 | 獲取或設(shè)置發(fā)送緩沖區(qū)的大小 |
SendTimeout屬性 | 獲取或設(shè)置TcpClient等待發(fā)送操作成功完成的時間量 |
BeginConnect()方法 | 開始一個對遠程主機連接的異步請求 |
Close()方法 | 釋放此TcpClient實例,而不關(guān)閉基礎(chǔ)連接 |
Connect()方法 | 使用指定的主機名和端口號將客戶端連接到TCP主機 |
EndConnect()方法 | 異步接收傳入的連接嘗試 |
GetStream()方法 | 返回用于發(fā)送和接收數(shù)據(jù)的NetworkStream |
????????TcpListener類的常用屬性、方法及說明如表:
屬性及方法 | 說 明 |
LocalEndpoint 屬性 | 獲取當前 TcpListener 的基礎(chǔ) EndPoint |
Server 屬性 | 獲取基礎(chǔ)網(wǎng)絡(luò) Socke |
AcceptSocket/AcceptTepClient()方法 | 接受掛起的連接請求 |
BeginAcceptSocket/BeginAcceptTcpClient() | 開始一個異步操作來接收一個傳入的連接嘗試 |
EndAcceptSocket()方法 | 異步接收傳入的連接嘗試,并創(chuàng)建新的Socket 來處理遠程主機通信 |
EndAcceplTepClient()方法 | 異步接收傳入的連接嘗試,并創(chuàng)建新的TcpClient 來處理遠程主機通信 |
Start()方法 | 開始偵聽傳入的連接請求 |
Stop()方法 | 關(guān)閉偵聽器 |
????????Stop()方法關(guān)閉TcpListenerStop(偵聽),但不會關(guān)閉任何已接受的連接。
1.示例源碼
2.生成效果
三、UdpClient類
????????UdpClient類用于在阻止同步模式下發(fā)送和接收無連接UDP數(shù)據(jù)報。因為UDP是無連接傳輸協(xié)議,所以不需要在發(fā)送和接收數(shù)據(jù)前建立遠程主機連接,但可以選擇使用下面兩種方法之一來建立默認遠程主機。
? 使用遠程主機名和端口號作為參數(shù)創(chuàng)建UdpClient類的實例。
? 創(chuàng)建UdpClient類的實例,然后調(diào)用Connect()方法。
????????如果已指定了默認遠程主機,則不要使用主機名或IPEndPoint調(diào)用Send()方法,否則將引發(fā)異常。
????????UdpClient類的常用屬性、方法及說明如表:
屬性及方法 | 說 明 |
Available 屬性 | ?獲取從網(wǎng)絡(luò)接收的可讀取的數(shù)據(jù)量 |
Client 屬性 | ?獲取或設(shè)置基礎(chǔ)網(wǎng)絡(luò) Socket |
BeginReceive()方法 | ?從遠程主機異步接收數(shù)據(jù)報 |
BeginSend()方法 | ?將數(shù)據(jù)報異步發(fā)送到遠程主機 |
Close()方法 | ?關(guān)閉 UDP 連接 |
Connect()方法 | ?建立默認遠程主機 |
EndReceive()方法 | ?結(jié)束掛起的異步接收 |
??EndSend()方法 | ?結(jié)束掛起的異步發(fā)送 |
??Receive()方法 | ?返回已由遠程主機發(fā)送的UDP數(shù)據(jù)報 |
???Send()方法 | ?將 UDP數(shù)據(jù)報發(fā)送到遠程主機 |