亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > C# > 正文

C#網絡編程之TCP的使用

2023-05-12 12:29:38
字體:
來源:轉載
供稿:網友

TCPClient 類使用 TCP 從 Internet 資源請求數據。TCP 協議建立與遠程終結點的連接,然后使用此連接發送和接收數據包。TCP 負責確保將數據包發送到終結點并在數據包到達時以正確的順序對其進行組合。

從名字上就可以看出,TcpClient類專為客戶端設計,它為 TCP 網絡服務提供客戶端連接。TcpClient 提供了通過網絡連接、發送和接收數據的簡單方法。

若要建立 TCP 連接,必須知道承載所需服務的網絡設備的地址(IPAddress)以及該服務用于通訊的 TCP 端口 (Port)。Internet 分配號碼機構 (Internet Assigned Numbers Authority, IANA) 定義公共服務的端口號(你可以訪問 http://www.iana.org/assignments/port-numbers獲得這方面更詳細的資料)。IANA 列表中所沒有的服務可使用 1,024 到 65,535 這一范圍中的端口號。要創建這種連接,你可以選用TcpClient類的三種構造函數之一:

1、public TcpClient()當使用這種不帶任何參數的構造函數時,將使用本機默認的ip地址并將使用默認的通信端口號0。這樣情況下,如果本機不止一個ip地址,將無法選擇使用。以下語句示例了如何使用默認構造函數來創建新的 TcpClient:

TcpClient tcpClientC = new TcpClient();

2、public TcpClient(IPEndPoint)使用本機IPEndPoint創建TcpClient的實例對象。上一篇介紹過了,IPEndPoint將網絡端點表示為IP地址和端口號,在這里它用于指定在建立遠程主機連接時所使用的本地網絡接口(IP 地址)和端口號,這個構造方法為使用本機IPAddress和Port提供了選擇余地。下面的語句示例了如何使用本地終結點創建 TcpClient 類的實例:

到這里,你可能會感到困惑,客戶端要和服務端創建連接,所指定的IP地址及通信端口號應該是遠程服務器的呀!事實上的確如此,使用以上兩種構造函數,你所實現的只是TcpClient實例對象與IP地址和Port端口的綁定,要完成連接,你還需要顯式指定與遠程主機的連接,這可以通過TcpClient類的Connect方法來實現, Connet方法使用指定的主機名和端口號將客戶端連接到 遠程主機:

1)、public void Connect(IPEndPoint); 使用指定的遠程網絡終結點將客戶端連接到遠程 TCP 主機。

public void Connect(IPAddress, int); 使用指定的 IP 地址和端口號將客戶端連接到 TCP 主機。

public void Connect(string, int); 將客戶端連接到指定主機上的指定端口。

需要指出的是,Connect方法的所有重載形式中的參數IPEndPoint網絡終結點、IPAddress以及表現為string的Dns主機名和int指出的Port端口均指的是遠程服務器。

以下示例語句使用主機默認IP和Port端口號0與遠程主機建立連接:

 

TcpClient tcpClient = new TcpClient();//創建TcpClient對象實例
try{
tcpClient.Connect("www.contoso.com",11002);//建立連接
}
catch (Exception e ){
Console.WriteLine(e.ToString());
}
 

3、public TcpClient(string, int);初始化 TcpClient 類的新實例并連接到指定主機上的指定端口。與前兩個構造函數不一樣,這個構造函數將自動建立連接,你不再需要額外調用Connect方法,其中string類型的參數表示遠程主機的Dns名,如:www.49028c.com。

以下示例語句調用這一方法實現與指定主機名和端口號的主機相連:

 

try{
TcpClient tcpClientB = new TcpClient("www.tuha.net", 4088);
}
catch (Exception e ) {
Console.WriteLine(e.ToString());
}

前面我們說,TcpClient類創建在Socket之上,在Tcp服務方面提供了更高層次的抽象,體現在網絡數據的發送和接受方面,是TcpClient使用標準的Stream流處理技術,使得它讀寫數據更加方便直觀,同時,.Net框架負責提供更豐富的結構來處理流,貫穿于整個.Net框架中的流具有更廣泛的兼容性,構建在更一般化的流操作上的通用方法使我們不再需要困惑于文件的實際內容(HTML、XML 或其他任何內容),應用程序都將使用一致的方法(Stream.Write、Stream.Read) 發送和接收數據。另外,流在數據從 Internet 下載的過程中提供對數據的即時訪問,可以在部分數據到達時立即開始處理,而不需要等待應用程序下載完整個數據集。.Net中通過NetworkStream類實現了這些處理技術。

NetworkStream 類包含在.Net框架的System.Net.Sockets 命名空間里,該類專門提供用于網絡訪問的基礎數據流。NetworkStream 實現通過網絡套接字發送和接收數據的標準.Net 框架流機制。NetworkStream 支持對網絡數據流的同步和異步訪問。NetworkStream 從 Stream 繼承,后者提供了一組豐富的用于方便網絡通訊的方法和屬性。

同其它繼承自抽象基類Stream的所有流一樣,NetworkStream網絡流也可以被視為一個數據通道,架設在數據來源端(客戶Client)和接收端(服務Server)之間,而后的數據讀取及寫入均針對這個通道來進行。

.Net框架中,NetworkStream流支持兩方面的操作:

1、 寫入流。寫入是從數據結構到流的數據傳輸。

2、讀取流。讀取是從流到數據結構(如字節數組)的數據傳輸。

與普通流Stream不同的是,網絡流沒有當前位置的統一概念,因此不支持查找和對數據流的隨機訪問。相應屬性CanSeek 始終返回 false,而 Seek 和 Position 方法也將引發 NotSupportedException。

基于Socket上的應瞇櫸矯媯憧梢醞ü韻鋁街址絞交袢etworkStream網絡數據流:

1、使用NetworkStream構造函數:public NetworkStream(Socket, FileAccess, bool);(有重載方法),它用指定的訪問權限和指定的 Socket 所屬權為指定的 Socket 創建 NetworkStream 類的新實例,使用前你需要創建Socket對象實例,并通過Socket.Connect方法建立與遠程服務端的連接,而后才可以使用該方法得到網絡傳輸流。示例如下:  

 

Socket s=new Socket(AddressFamily.InterNetwork,SocketType.Stream,ProtocolType.Tcp);//創建客戶端Socket對象實例
try{
s.Connect("www.tuha.net",4088);//建立與遠程主機的連接
}
catch(Exception e){
MessageBox.show("連接錯誤:" +e.Message);
}
try{
NetworkStream stream=new NetworkStream(s,FileAccess.ReadWrite,false);//取得網絡傳輸流
}
 

2、通過TcpClient.GetStream方法:public NetworkStream etStream();它返回用于發送和接收數據的基礎網絡流NetworkStream。GetStream 通過將基礎 Socket 用作它的構造函數參數來創建 NetworkStream 類的實例。使用前你需要先創TcpClient對象實例并建立與遠程主機的連接,示例如下:

 

TcpClient tcpClient = new TcpClient();//創建TcpClient對象實例
Try{
tcpClient.Connect("www.tuha.net",4088);//嘗試與遠程主機相連
}
catch(Exception e){
MessageBox.Show("連接錯誤:"+e.Message);
}
try{
NetworkStream stream=tcpClient.GetStream();//獲取網絡傳輸流
}
catch(Exception e)
{
MessageBox.Show("TcpClient錯誤:"+e.Message);
}

通過以上方法得到NetworkStream網絡流之后,你就可以使用標準流讀寫方法Write和Read來發送和接受數據了。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
亚洲欧洲免费视频| 国产精品亚洲精品| 中文字幕日韩av| 精品久久久久久亚洲精品| 亚洲国产成人爱av在线播放| 97国产精品人人爽人人做| 色综合久久精品亚洲国产| 亚洲欧美国产va在线影院| 色多多国产成人永久免费网站| 91国产视频在线| 亚洲人精品午夜在线观看| 91久久嫩草影院一区二区| 亚洲人永久免费| 一区二区三区视频观看| 日韩中文字幕在线视频播放| 日韩欧美国产高清91| 亚洲天堂av图片| 亚洲精品美女在线观看| 日韩中文字幕网| 日本一区二区三区在线播放| 国产日韩综合一区二区性色av| 成人精品在线视频| 最近中文字幕mv在线一区二区三区四区| 国产精品爽爽爽爽爽爽在线观看| 国产成人综合亚洲| 国产精品久久久久久久电影| 狠狠干狠狠久久| 97超级碰在线看视频免费在线看| 国内精品400部情侣激情| 日韩网站在线观看| 亚洲男人天天操| 久久久亚洲天堂| 欧美日韩国产二区| 中文字幕日韩欧美在线视频| 亚洲精品久久7777777| 91嫩草在线视频| 亚洲www在线| 成人福利网站在线观看11| 日韩精品中文字幕在线观看| 国产99久久精品一区二区永久免费| 国产日韩av在线| 国产日韩精品在线| 国产精品91免费在线| 国产精品国产三级国产aⅴ9色| 欧美另类69精品久久久久9999| 国产精国产精品| 57pao国产成人免费| 91精品国产高清| 亚洲成年人影院在线| 久久人人爽人人爽人人片av高请| 成人午夜黄色影院| 国产精品国产自产拍高清av水多| 久久国产精品久久国产精品| 亚洲视频在线免费观看| 久久精品亚洲精品| 2021久久精品国产99国产精品| 日韩精品在线播放| 米奇精品一区二区三区在线观看| 国产精品日韩一区| 日韩欧美精品网址| 国产婷婷成人久久av免费高清| 一区二区三区国产视频| 久久亚洲影音av资源网| 亚洲精品网站在线播放gif| 91在线免费观看网站| 成人在线视频福利| 久久久97精品| 亚洲精品电影网站| 亚洲精品福利免费在线观看| 日韩成人在线播放| 欧美性猛交视频| 国产一区二中文字幕在线看| 欧美一级片一区| 亚洲欧洲偷拍精品| 成人国产精品一区二区| 国产精品18久久久久久麻辣| 欧美精品一区二区三区国产精品| 97人洗澡人人免费公开视频碰碰碰| 欧美性受xxx| 亚洲人午夜色婷婷| 久久久亚洲欧洲日产国码aⅴ| 57pao国产精品一区| 亚洲精品电影网| 亚洲欧美日韩天堂一区二区| 在线亚洲欧美视频| 亚洲福利视频在线| 亚洲国产精品电影在线观看| 欧美日本中文字幕| 国产精品第二页| 黑人巨大精品欧美一区二区三区| 国产专区精品视频| 在线看福利67194| 在线观看视频99| 中文字幕日韩精品在线观看| 亚洲色在线视频| 久久久之久亚州精品露出| 中文字幕免费国产精品| 国产精品自产拍高潮在线观看| 久久亚洲国产成人| 欧美乱大交xxxxx| 国产91热爆ts人妖在线| 亚洲欧美日韩精品久久| 国产精品免费久久久久久| 亚洲精品wwww| 亚洲国产成人爱av在线播放| 亚洲欧美日韩第一区| 亚洲黄页视频免费观看| 国产69精品久久久| 狠狠躁夜夜躁人人爽超碰91| 中文字幕精品av| 欧美日韩亚洲一区二区| 成人免费在线视频网址| 国产精品久久久久久av| 91老司机精品视频| 日韩免费av在线| 亚洲精品自拍第一页| 亚洲另类欧美自拍| 欧美日韩免费看| 国产丝袜一区视频在线观看| 日韩网站免费观看| 亚洲毛片在线看| 久久久久久久久国产| 欧美裸体xxxx| 成人免费视频xnxx.com| 国产美女久久精品| 国产aⅴ夜夜欢一区二区三区| 久久99久久亚洲国产| 91产国在线观看动作片喷水| 日韩av在线网址| 国产一区二区日韩| 欧美在线免费视频| 日av在线播放中文不卡| 久久精品免费电影| 欧美日韩国产在线播放| 久久免费福利视频| 欧美极品少妇xxxxⅹ喷水| 久久影视电视剧凤归四时歌| 国产精品久久久久999| 国产视频自拍一区| 国产免费久久av| 成人高清视频观看www| 日韩成人在线网站| 91精品视频一区| 欧美激情一区二区三区高清视频| 隔壁老王国产在线精品| 亚洲人成电影网站色…| 亚洲free嫩bbb| 色婷婷久久一区二区| 欧美风情在线观看| 久久91超碰青草是什么| 狠狠色狠色综合曰曰| 欧美一级在线亚洲天堂| 亚洲97在线观看| 一本一道久久a久久精品逆3p| 国产精品日韩在线观看| 国产不卡精品视男人的天堂| 最新69国产成人精品视频免费| 成人午夜一级二级三级| 国产精品视频久久久| 欧美伊久线香蕉线新在线| 亚洲女在线观看| 日韩动漫免费观看电视剧高清| 亚洲精品国产品国语在线| 欧美精品久久一区二区|