1、網絡編程中兩個主要問題:
①如何準確定位網絡上一臺或多臺主機;定位主機上的特定應用
②找到主機後如何可靠高效的進行數據傳輸
2、網絡編程中兩個要素:
①對應問題一:IP和端口號
②對應問題二:提供網絡通信協議:TCP/IP參考模型(應用層、傳輸層、網絡層、物理+數據鏈路層)
3、通信要素一:IP和端口號
①IP:唯一的表示Internet上的計算機(通信實體)
②在Java中使用InetAddress類代表IP
③IP分爲:IPv4、IPv6 ;萬維網和局域網
④域名:例如:www.baidu.com
⑤本地迴路地址:127.0.0.1 對應着 localhost
⑥如何實例化InetAddress:
兩個方法:getByName(String host)、getLocalHost()
兩個常用方法:getHostName() / getHostAddress()
⑦端口號:正在計算機上運行的進程
要求:不同的進程有不同的端口號
範圍:被規定爲一個16位的整數:0~65535
⑧端口號與IP地址組合得出一個網絡套接字:Socket
4、網絡通信協議:
TCP協議:
①使用TCP協議前,須先建立TCP連接,形成傳輸數據通道
②傳輸前,採用"三次握手"方式,點對點通信,是可靠的
③TCP協議進行通信的兩個應用進程:客戶端、服務端
④在連接中可以進行大數據量傳輸
⑤傳輸完畢,需釋放已建立的鏈接,效率低
UDP協議:
①將數據、源、目的封裝成數據包,不需要建立鏈接
②每個數據報的大小限制在64KB內
③發送不管對方是否準備好,接收方收到也不確認,故是不可靠的
④可以廣播發送
⑤發送數據結束時無需釋放資源,開銷小,釋放快
服務端創建:
①創建服務器端的ServerSocket,指明自己的端口號
②調用accept()表示接收來自於客戶端的Socket
③獲取輸入流
④讀取輸入流中的數據
5、URL類:統一資源定位符,它表示Internet上某一資源的地址
URL基本結構由5部分組成:
<傳輸協議>://<主機名>:<端口號>/<文件名>#片段名?參數列表
獲取URL屬性:
①public String getProtocol() 獲取該URL的協議名
②public String getHost() 獲取該URL的主機名
③public String getPort() 獲取該URL的端口號
④public String getPath() 獲取該URL的文件路徑
⑤public String getFile() 獲取該URL的文件名
⑥public String getQuery() 獲取該URL的查詢名
JAVA 網絡編程總結
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.