熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> .NET編程 >> 正文

套接字編程介紹

2013-11-13 10:08:06  來源: .NET編程 

  套接字(socket)是網絡計算機與應用程序之間發送和接收數據的方式的一種抽象描述它描述了(可能在不同的計算機上也可能在同一台計算機內的)兩個通信點之間的連接

  在實際操作中套接字編程往往與TCP/IP和UDP/IP通信相結合(關於TCP/IP和UDP/IP的更多信息參見下面的理解IPTCP和UDP論及套接字編程時以下類信息是很重要的

  ● 協議(如TCP/IP或UDP/IP)

  ● IP地址(例如

  ● 端口號(例如端口

  舉例來說對於這樣的地址你應該比較熟悉這個地址用來指示Web浏覽器加載位於的主頁http指定了使用的應用協議(HTTP使用TCP/IP傳輸數據)指定了地址(名稱將會被DNS服務器解析成一個IP地址)由於HTTP使用端口進行通信端口號被隱式地指明故沒有出現在地址裡如圖所示通信的雙方都必須擁有IP地址

  HTTP(TCPIP)

  (

  端口

  HTTP(TCPIP)

  

  端口

  盡管有TCP/IP這樣的協議負責把數據從一個點傳輸到另一個點但所傳輸數據的內容則需由諸如HTTP這樣的應用協議來指定

  在NET Framework裡套接字通信由Socket類來實現(該類位於SystemNetSockets命名空間)

  理解IPTCP和UDP

  對於網絡編程來說深入地理解當下正在使用的一些常見網絡協議是很重要的首先是網際協議(Internet ProtocolIP)IP指定了從一個點傳送到另一個點的數據分組(如數據報datagrams)的格式和尋址方案假設IP是一種郵遞系統你可以通過它把郵件從一個地方寄到另一個地方你只需寫上收件者地址並把郵件丟進郵箱裡隨後郵局會試圖把郵件投遞給收件人但是你不能確定你的郵件肯定會到達目的地也不會知道它究竟何時到達

  為了確保郵件被正確地投遞你必須使用額外的服務比如掛號信與上述情形類似我們需要將其他協議與IP聯合使用以保證數據分組傳送無誤傳輸控制協議(Transmission Control ProtocolTCP)正是這樣一種協議TCP是一種面向連接的網絡協議它(通過應答機制)保證數據分組可靠並有序地傳送作為流行的網絡協議與IP協同工作的TCP已被Web浏覽器和電子郵件客戶這樣的應用程序廣泛采用

  TCP確保了傳送的正確性但它也有不便的地方正如要花更多的錢來寄送的掛號信一樣TCP給被發送的數據分組加上了額外的報頭增大了分組的尺寸因此開發人員有時會將用戶數據報協議(User Datagram ProtocolUDP)與IP聯用UDP是一種無連接的網絡協議同樣把數據分組從一點發送到另一個點只有一個例外——它並不提供可靠的有保障的傳送由於UDP不對傳送提供保障數據分組將包含更多的有效信息並能更快地傳送使用UDP的開發人員必須建立自己的邏輯以確保數據分組的正確傳送這也與郵寄的例子很相似你可以自己給收件人打電話看他們是否已經收到你寄的郵件如果他們沒有收到你可能需要重新寄對於那些傳送小數據分組且不需要數據精確組裝的應用程序來說UDP是非常有用的這類程序包括簡單文件傳輸協議(Trivial File Transfer ProtocolTFTP)域名系統(Domain Name SystemDNS)以及語音IP(Voice over IPVoIP)


From:http://tw.wingwit.com/Article/program/net/201311/12657.html
    推薦文章
    Copyright © 2005-2013 電腦知識網 Computer Knowledge   All rights reserved.