圖文詳解之網路程式設計!
阿新 • • 發佈:2018-11-01
1.網路程式設計
- 什麼是網路程式設計
- 多臺計算機連線形成網路
- 網路的作用
- 資料互動
- 資料共享
2.網路三要素
- 網路協議:雙方實體完成通訊或服務所必須遵循的規則和約定
-
應用層: http,ftp,smtp等
傳輸層
網路層: ip
資料鏈路層: 網絡卡
物理層: 物理連線
-
-
Ip: 裝置在網路中的唯一標識(邏輯)。
-
埠: 邏輯上用於區分服務的埠(每個服務都會監聽特定的埠) 0-65535
80埠:http服務
3306埠: mysql服務
21:ftp埠
1521:oracle服務
8080:tomcat服務
3.其他概念
- DNS伺服器:伺服器: 域名和IP地址之間對映關係的伺服器。根據域名獲取ip地址的過程稱為域名解析
- url:統一資源定位符。(定位資源的地方),協議://ip:埠/資源路徑?引數
4.網路程式設計介紹
- Java.net.InetAddress
//1.獲取本機的IP地址
InetAddress inetAddress = InetAddress.getLocalHost();
//本機主機名稱
String hostName = inetAddress.getHostName();
//ip地址字串
String ip = inetAddress.getHostAddress();
System.out.println(hostName+":"+ip);
//獲取指定域名的ip
InetAddress ia2 = InetAddress.getByName("192.168.5.132");
System.out.println(ia2.getHostName()+":"+ia2.getHostAddress());
//獲取所有處理該請求的伺服器ip地址
InetAddress[] ias = InetAddress.getAllByName("www.baidu.com");
for (InetAddress inet2 : ias) {
System.out.println(inet2.getHostName()+":"+inet2.getHostAddress());
}
- 網路程式設計
- Socket(套接字)程式設計
- 傳送和接收資訊的埠(介面)
5.Tcp/Udp(傳輸層)
- Udp
- 面向無連線不可靠協議
- 特點:快
- TCP
- 面向連線的可靠協議。先建立連線,形成傳輸通道才能通訊,適合大資料量而且對資料要求較高的場景使用。
- 速度慢。
- 建立連線: 三次握手
- Client/server: 請求響應模式
- 客戶端首先發送請求給伺服器端(SYN)
- 伺服器返回響應(SYN+ACK(確認))
- 傳送ACK給伺服器端,此時建立連線。
- Client/server: 請求響應模式
- Tcp協議的socket
- 客戶端(Socket)
- 明確伺服器端ip地址和埠,建立連線。
- 傳送資料給伺服器端
- 釋放資源
- 伺服器端(ServerSocket)
- 確定監聽埠
- 獲取客戶端連線(建立連線)
- 獲取客戶端傳送的資料
- 釋放資源(伺服器一般不用關閉)
- 客戶端(Socket)