Java網路程式設計02:IP地址、埠和通訊協議
阿新 • • 發佈:2022-03-14
IP地址
Java的InetAddress類可以獲取IP地址
import java.net.InetAddress; import java.net.UnknownHostException; public class Main { public static void main(String[] args) { try { /** * InetAddress.getByName()方法獲取域名和IP地址 * getHostAddress()方法獲取規範的IP地址 */ InetAddress ip = InetAddress.getByName("www.yuankexue.cn"); System.out.println(ip); System.out.println(ip.getHostAddress()); /** * InetAddress.getLocalHost()方法獲取本地IP */ InetAddress localHost = InetAddress.getLocalHost(); System.out.println(localHost); } catch (UnknownHostException e) { e.printStackTrace(); } } }
埠
不同的程序有不同的埠號,用來區分軟體(netstat -ano檢視所有埠)
埠號範圍0~65535,單個協議下埠號不能衝突,但是UDP和TCP是不同的協議,埠號分開算
埠分類:
- 公有埠:0~1023
- HTTP:80
- HTTPS:443
- FTP:21
- SSH:22
- 使用者程式註冊埠:1024~49151
- Tomcat:8080
- MYSQL:3306
- 動態埠(私有埠):49151~65535
通訊協議
TCP/IP協議簇:
- TCP:使用者傳輸協議
- IP:網路互聯協議
- UDP:使用者資料報協議
UPD和TCP對比:
- TCP:類似於打電話,有客戶端和服務端,先建立連線,傳輸完成才釋放連線,穩定,但效率低(三次握手,四次揮手)
- UDP:類似於發簡訊,不建立連線,不穩定,但效率高