熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> Java編程 >> Java核心技術 >> 正文

Java網絡編程-Java Socket編程(一)

2013-11-23 19:38:27  來源: Java核心技術 

  Socket傳輸模式

  Sockets有兩種主要的操作方式面向連接的和無連接的面向連接的sockets操作就像一部電話他們必須建立一個連接和一人呼叫所有的事情在到達時的順序與它們出發時的順序時一樣

  無連接的sockets操作就像是一個郵件投遞沒有什麼保證多個郵件可能在到達時的順序與出發時的順序不一樣到底用哪種模式是郵應用程序的需要決定的如果可靠性更重要的話用面向連接的操作會好一些比如文件服務器需要他們的數據的正確性和有序性如果一些數據丟失了系統的有效性將會失去一些服務器比如間歇性地發送一些數據塊如果數據丟了的話服務器並不想要再重新發過一次因為當數據到達的時候它可能已經過時了確保數據的有序性和正確性需要額外的操作的內存消耗額外的費用將會降低系統的回應速率

  無連接的操作使用數據報協議一個數據報是一個獨立的單元它包含了所有的這次投遞的信息把它想象成一個信封吧它有目的地址和要發送的內容這個模式下的socket不需要連接一個目的的socket它只是簡單地投出數據報無連接的操作是快速的和高效的但是數據安全性不佳面向連接的操作使用TCP協議一個這個模式下的socket必須在發送數據之前與目的地的socket取得一個連接一旦連接建立了sockets就可以使用一個流接口打開關閉所有的發送的信息都會在另一端以同樣的順序被接收面向連接的操作比無連接的操作效率更低但是數據的安全性更高

  SUN一直是網絡建設的支持者所以在Java中支持sockets就不足為奇了實際上Java降低了建立一個sockets程序的難度每一個傳輸模式都被封裝到了不同的類中面向連接的類將會首先被我們討論

  Sockets有兩種主要的操作方式面向連接的和無連接的面向連接的sockets操作就像一部電話他們必須建立一個連接和一人呼叫所有的事情在到達時的順序與它們出發時的順序時一樣無連接的sockets操作就像是一個郵件投遞沒有什麼保證多個郵件可能在到達時的順序與出發時的順序不一樣

  到底用哪種模式是郵應用程序的需要決定的如果可靠性更重要的話用面向連接的操作會好一些比如文件服務器需要他們的數據的正確性和有序性如果一些數據丟失了系統的有效性將會失去一些服務器比如間歇性地發送一些數據塊如果數據丟了的話服務器並不想要再重新發過一次因為當數據到達的時候它可能已經過時了確保數據的有序性和正確性需要額外的操作的內存消耗額外的費用將會降低系統的回應速率

  無連接的操作使用數據報協議一個數據報是一個獨立的單元它包含了所有的這次投遞的信息把它想象成一個信封吧它有目的地址和要發送的內容這個模式下的socket不需要連接一個目的的socket它只是簡單地投出數據報無連接的操作是快速的和高效的但是數據安全性不佳

  面向連接的操作使用TCP協議一個這個模式下的socket必須在發送數據之前與目的地的socket取得一個連接一旦連接建立了sockets就可以使用一個流接口打開關閉所有的發送的信息都會在另一端以同樣的順序被接收面向連接的操作比無連接的操作效率更低但是數據的安全性更高

  SUN一直是網絡建設的支持者所以在Java中支持sockets就不足為奇了實際上Java降低了建立一個sockets程序的難度每一個傳輸模式都被封裝到了不同的類中面向連接的類將會首先被我們討論


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