首页 > 文章列表 > Java网络编程中如何配置和使用套接字?

Java网络编程中如何配置和使用套接字?

java 网络编程
128 2024-04-23

Socket 是网络编程的基础,允许应用程序通过网络相互通信。本指南提供了如何配置和使用 Socket 的详细步骤:创建套接字:指定端口和地址。使用套接字:服务器端监听连接、读写数据;客户端端连接到服务器、发送和接收数据。实战案例:建立简单的聊天应用程序,演示如何使用 Socket 进行双向通信。

Java网络编程中如何配置和使用套接字?

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);