『黑馬程式設計師』---java--網路程式設計--客戶端和服務端
----------- android培訓、java培訓、java學習型技術部落格、期待與您交流! ------------
演示客戶端和服務端
1,
客戶端:瀏覽器(telnet)
服務端:自定義
瀏覽器其實就是一個客戶端(瀏覽器客戶端-自定義服務端)
注意:本機測試,自定義客戶端中必須在服務戶端打印出對方ip,IE中才可以讀出”客戶端你好”
擴充套件:
Win中遠端工具,連線網路中的任意一臺主機.Telnet[也是一個客戶端]
2,
客戶端:瀏覽器(telnet)
服務端:Tomcat
Tomcat是純java編寫的一個服務端軟體,他裡面其實就是封裝了Socket.
簡單截圖,
3,
客戶端:自定義
服務端:Tomcat伺服器
思考,瀏覽器在訪問伺服器時,給服務端傳送了什麼資料?
在自定義的服務端中,將客戶端中發給服務端的資料讀出來.
HTTP請求訊息頭
Accept-Encoding:gzip,deflate(提高效率,支援gzip壓縮)
請求資料體和請求資料頭,中間要有一個空行.標準..
自己按照上面,分析.自己做一個ie客戶端,訪問以下Tomcat伺服器
注意,Connection:”Keep-Alive”的話,伺服器會保持連線,不會立刻關閉.
簡單優化,自定義瀏覽器:
應答訊息頭出現,是因為,我們走的是傳輸層….而ie走的是應用層
深層優化,自定義瀏覽器:
java.net
類 URL
類 URL 代表一個統一資源定位符,它是指向網際網路“資源”的指標。資源可以是簡單的檔案或目錄,也可以是對更為複雜的物件的引用,例如對資料庫或搜尋引擎的查詢。
擴充套件URI也是資源定位符,URI的範圍比URL大.
注意:
給力方法: (自動幫你連線URL,,,,,,)玩3G也用的上
openConnection() |
openStream() |
openStream() 方法,就是:openConnection().getInputStream()
一般,分開寫,因為,URLConnection中會提供更多方法.來操作……
java.net
類 URLConnection
直接已知子類:
帶著協議封裝Socket,去掉響應頭.直接跨到應用層……
域名解析:
小知識擴充套件:
在建立ServerSocket時,構造方法,中還有個引數------Backlog[控制線上客戶端]