首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> Java 程式設計 >> Java 相關知識

Java 編程那些事兒 102:網絡編程技術概述與 InetAddress 類詳解

     編輯:Java 相關知識

13.2 網絡編程技術

前文建立網絡編程概念,現介紹代碼實現。步驟與語言無關,適用各語言。

13.2.1 網絡編程步驟

客戶端三步驟

  1. 建立網絡連接:指定服務端 IP 與端口,形成虛擬連接。
  2. 交換數據:嚴格遵循「請求-響應」模型,客戶端發請求,服務端回響應。可多次交換。
  3. 關閉網絡連接:釋放端口、內存等系統資源。

實際代碼組織中,步驟 2 常重複,因網絡操作耗時,通常開專用線程通訊。

服務端四步驟

  1. 監聽端口:被動等待,監聽本機固定端口。本機 IP 即服務端 IP。
  2. 獲得連接:客戶端連接到達時獲取連接(含客戶端 IP 等信息)。通常啟動專用線程處理,每連接一線程。
  3. 交換數據:先接收客戶端數據,邏輯處理後發送結果。順序與客戶端相反。可多次交換。完成後關閉客戶端連接。
  4. 關閉連接:程序關閉時釋放監聽端口與佔用內存。

模型類似呼叫中心:10086 為端口,用戶為客戶端,客服為線程,各線程獨立交互。TCP 需建立連接壓力大,UDP 無連接壓力小。

13.2.2 Java 網絡編程技術

Java 誕生於網絡環境,對網絡編程支持良好。核心 API 在 java.net 包,含基礎類與 Web 封裝類。本章僅介紹基礎類。

InetAddress 類

代表 IP 地址,封裝 IP 與域名相關操作。示例:

package inetaddressdemo;
import java.net.*;

public class InetAddressDemo {
public static void main(String[] args) {
try {
InetAddress inet1 = InetAddress.getByName("www.163.com");
System.out.println(inet1);
InetAddress inet2 = InetAddress.getByName("127.0.0.1");
System.out.println(inet2);
InetAddress inet3 = InetAddress.getLocalHost();
System.out.println(inet3);
String host = inet3.getHostName();
System.out.println("域名:" + host);
String ip = inet3.getHostAddress();
System.out.println("IP:" + ip);
} catch (Exception e) {}
}
}

運行結果(需聯網):

www.163.com/220.181.28.50
/127.0.0.1
chen/192.168.1.100
域名:chen
IP:192.168.1.100

後續常用 InetAddress 對象代表 IP,也可直接用字符串。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved