-
URL 層次 和 Socket層次
- url 方式使得用戶不需要考慮URL中的各種協(xié)議的處理過程碌更,就可以直接獲得URL資源信息。這種方式適用于訪問Internet尤其是www上的資源,對ftp的支持也很好。
- Socket表示應(yīng)用程序與網(wǎng)絡(luò)之間的接口隘蝎,例如TCP Socket,UDP Socket昆庇。支持流和數(shù)據(jù)報兩種通信過程。這種機制中闸溃,用戶需要自己考慮通信雙方約定的協(xié)議整吆。
- Java中支持url的類實際上也是依賴于下層Socket類實現(xiàn)的。
- URL類辉川,URLConnection類表蝙,Socket類和ServerSocket類都是用TCP實現(xiàn)網(wǎng)絡(luò)通信;DatagramPacket類乓旗,DatagramSocket類府蛇,MulticastSocket類都支持UDP通信支持。
-
URL通信機制
-
Socket通信機制
- Socket提供兩種通信方式:有連接方式(TCP)和無連接方式(UDP數(shù)據(jù)報)屿愚。
- 1.有連接通信方式
- 有連接方式汇跨,通信雙方在開始時必須進行一次連接過程,建立一條通信鏈路妆距。通信鏈路提供了可靠的穷遂、全雙工的字節(jié)流服務(wù);
- Socket有兩個流:一個輸出流娱据,一個輸入流蚪黑;
- 有鏈接通信一般經(jīng)歷下列四個基本步驟:
(1)創(chuàng)建Socket,建立連接中剩;
(2)打開連接到Socket的輸入/輸出流忌穿;
(3)按照一定的協(xié)議對Socket進行讀/寫操作;
(4)關(guān)閉Socket结啼。
- 無連接通信協(xié)議
- 用戶數(shù)據(jù)報協(xié)議UDP是傳輸層的無連接通信協(xié)議掠剑;
- 無連接方式中,通信雙方不存在一個連接過程郊愧;
- 數(shù)據(jù)報能否到達(dá)目的地澡腾,到達(dá)時間,以及到達(dá)時內(nèi)容能否保持不變都是沒有保證的糕珊;
- 所以在不需要高質(zhì)量通信時可以使用UDP动分;
- 數(shù)據(jù)報方式的通信過程:
(1)創(chuàng)建數(shù)據(jù)報Socket;
(2)構(gòu)造用于接收或者發(fā)送的數(shù)據(jù)報红选,并調(diào)用所創(chuàng)建的Socket的receive()方法進行數(shù)據(jù)報接收或調(diào)用send()發(fā)送數(shù)據(jù)報澜公;
(3)通信結(jié)束,關(guān)閉Socket。
最后編輯于 :
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者