溫馨提示×

Java里socket連接怎樣建立

小樊
108
2024-09-30 01:30:19
欄目: 編程語言

在Java中,建立Socket連接主要包括兩個步驟:服務器端創建ServerSocket對象并監聽指定端口,客戶端創建Socket對象并連接到服務器的IP地址和端口。以下是一個簡單的示例:

服務器端代碼:

import java.io.*;
import java.net.*;

public class Server {
    public static void main(String[] args) throws IOException {
        int port = 12345; // 服務器監聽的端口號
        ServerSocket serverSocket = new ServerSocket(port); // 創建ServerSocket對象
        System.out.println("服務器已啟動,正在監聽端口:" + port);

        Socket socket = serverSocket.accept(); // 等待客戶端連接
        System.out.println("客戶端已連接:" + socket.getInetAddress());

        InputStream inputStream = socket.getInputStream(); // 獲取客戶端發送的數據流
        BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(inputStream));
        String message;

        while ((message = bufferedReader.readLine()) != null) {
            System.out.println("收到客戶端消息:" + message);
        }

        socket.close(); // 關閉Socket連接
        serverSocket.close(); // 關閉ServerSocket對象
    }
}

客戶端代碼:

import java.io.*;
import java.net.*;

public class Client {
    public static void main(String[] args) throws IOException {
        String serverAddress = "localhost"; // 服務器IP地址
        int port = 12345; // 服務器監聽的端口號

        Socket socket = new Socket(serverAddress, port); // 創建Socket對象并連接到服務器
        System.out.println("已連接到服務器:" + serverAddress + ":" + port);

        OutputStream outputStream = socket.getOutputStream(); // 獲取服務器發送的數據流
        PrintWriter printWriter = new PrintWriter(outputStream, true);

        String message = "你好,服務器!";
        printWriter.println(message); // 向服務器發送消息
        System.out.println("已發送消息:" + message);

        socket.close(); // 關閉Socket連接
    }
}

在這個示例中,服務器端創建了一個ServerSocket對象并監聽12345端口。當客戶端連接到服務器時,服務器會接收到客戶端的消息并在控制臺輸出??蛻舳藙摻ㄒ粋€Socket對象并連接到服務器的IP地址和端口,然后向服務器發送一條消息。

0
亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女