前文建立網絡編程概念,現介紹代碼實現。步驟與語言無關,適用各語言。
實際代碼組織中,步驟 2 常重複,因網絡操作耗時,通常開專用線程通訊。
模型類似呼叫中心:10086 為端口,用戶為客戶端,客服為線程,各線程獨立交互。TCP 需建立連接壓力大,UDP 無連接壓力小。
Java 誕生於網絡環境,對網絡編程支持良好。核心 API 在 java.net 包,含基礎類與 Web 封裝類。本章僅介紹基礎類。
代表 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,也可直接用字符串。