C#網路編程學習筆記1

來源:互聯網
上載者:User
TCP/IP是什麼

一個協議組。
TCP/IP為什麼流行?

因為相容各種底層組網和標準。(俗話說就是各種接線方式和線)
TCP/IP分層

應用程式層:SMTP FTP Telnet
傳輸層:TCP UDP (負責傳輸並保證到達)
網路層: IP (負責定義門牌號和路徑)
資料介面: Ethernet、 Serial Line (最接近物理層,用來封裝物理層)

=====================
Socket分類(傳輸層)

1。流式 (Stream) 對應TCP協議
2。資料報式(Gram)對應UDP協議
Socket應用:

當高層協議(如Http協議、SMTP協議)都滿足不了你的需求的時候,強烈需要自訂網路傳輸的時候才用。 否則就用WebRequest,Email,Ftp類庫就行啦。
Socket是什麼

可以看作是Client到Server的資料通道
Socket的類庫

TCPClient、TCPListener
用Socket實現的網路服務

Telnet Http Email Echo
用法--類似於打電話
用戶端:

1。建立Socket執行個體(new 一個出來)
2。通過Connet方法串連到指定伺服器
3。通過Send或者SendTo方法發送資料
4。通過Receive或ReceiveFrom方法接收回執資料
伺服器端:

1。Bind方法綁定到指定連接埠
2。用Listen方法偵聽請求
3。通過Accept接收用戶端Socket
4。處理資料
5。shutdown 並Close Socket

使用到的類:
EndPoint類:

代表一個終端,一般用 地址+連接埠 來表示。 子類 IPEndPoint用 IP+連接埠 來表示
擷取IPEndPoint:IPEndPoint ipEP=new IPEndPoint(IPAddress,port);
IPAddress類:

擷取方式:IPAddress myIp =IPAddress.Parse("192.168.0.1");
Dns類:

網域名稱服務 (DNS)類。(網域名稱服務 (DNS):把www.fltek.com.cn解析為IP地址的一種服務)
IPHostEntry myhost= Dns.Resolve("www.fltek.com.cn");
(或者 IPHostEntry myhost=Dns.GetHostByName("www.fltek.com.cn");)
IPAddress myIP=myhost.AddressList[0]; 這就擷取了上面的IPAddress

常用異常:

SocketException
ArgumentException 參數為空白異常
objectDisaposedException Socekt已關閉異常

注意:
同步和非同步:

同步表示 Socket沒擷取完資料就不把控制權交給程式,一直去擷取資料;非同步可以馬上交回給程式。
例子:
同步 Send方法
非同步:BeginSend

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.