Socket 是網路程式設計的基礎,允許應用程式透過網路相互通訊。本指南提供如何設定和使用 Socket 的詳細步驟:建立套接字:指定連接埠和位址。使用套接字:伺服器端監聽連線、讀寫資料;客戶端端連接到伺服器、傳送和接收資料。實戰案例:建立簡單的聊天應用程序,示範如何使用 Socket 進行雙向通訊。
Java 網路程式設計:Socket 設定和使用指南
套接字(Socket) 是網路程式設計的基礎,允許應用程式透過網路相互通訊。本指南將介紹如何在 Java 中設定和使用套接字。
設定套接字
建立套接字的步驟如下:
// 创建一个 ServerSocket 监听端口 8080 ServerSocket serverSocket = new ServerSocket(8080); // 创建一个 Socket 客户端连接到 localhost:8080 Socket clientSocket = new Socket("localhost", 8080);
使用套接字
伺服器端:
// 接受客户端连接 Socket clientSocket = serverSocket.accept(); // 获取输入流和输出流 DataInputStream input = new DataInputStream(clientSocket.getInputStream()); DataOutputStream output = new DataOutputStream(clientSocket.getOutputStream()); // 读写数据 String message = input.readUTF(); output.writeUTF("Hello from server: " + message); // 关闭连接 clientSocket.close();
客戶端端:
// 发送数据到服务器 DataOutputStream output = new DataOutputStream(clientSocket.getOutputStream()); output.writeUTF("Hello from client"); // 接收服务器响应 DataInputStream input = new DataInputStream(clientSocket.getInputStream()); String serverMessage = input.readUTF(); // 关闭连接 clientSocket.close();
實戰案例
##建立一個簡單的聊天應用程式:
伺服器程式碼:
ServerSocket serverSocket = new ServerSocket(8080);
Socket clientSocket = serverSocket.accept();
BufferedReader input = new BufferedReader(new InputStreamReader(clientSocket.getInputStream()));
PrintWriter output = new PrintWriter(clientSocket.getOutputStream(), true);
while (true) {
String message = input.readLine();
if (message == null || message.isEmpty()) {
break;
}
output.println("Server: " + message);
}
Socket clientSocket = new Socket("localhost", 8080); BufferedReader input = new BufferedReader(new InputStreamReader(clientSocket.getInputStream())); PrintWriter output = new PrintWriter(clientSocket.getOutputStream(), true); output.println("Hello from client"); String serverMessage = input.readLine(); System.out.println(serverMessage);
以上是Java網路程式設計中如何設定和使用套接字?的詳細內容。更多資訊請關注PHP中文網其他相關文章!