服务器端Socket编程可以用于建立网络连接并实现客户端与服务器之间的通信。下面是一个简单的示例代码,演示如何创建一个简单的服务器,并接受客户端的连接和消息:
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.net.ServerSocket;
import java.net.Socket;
public class ServerExample {
public static void main(String[] args) {
int port = 12345; // 服务器监听的端口号
try {
// 创建ServerSocket对象
ServerSocket serverSocket = new ServerSocket(port);
System.out.println("服务器已启动,等待客户端连接...");
// 等待客户端连接
Socket clientSocket = serverSocket.accept();
System.out.println("客户端连接成功!");
// 获取输入流和输出流
BufferedReader in = new BufferedReader(new InputStreamReader(clientSocket.getInputStream()));
PrintWriter out = new PrintWriter(clientSocket.getOutputStream(), true);
// 读取客户端发送的消息
String message = in.readLine();
System.out.println("客户端消息:" + message);
// 发送响应给客户端
out.println("服务器已收到您的消息:" + message);
// 关闭连接
in.close();
out.close();
clientSocket.close();
serverSocket.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
上述示例中,我们使用类创建了一个服务器端的Socket,并指定了服务器监听的端口号。然后,通过调用方法等待客户端的连接。一旦客户端连接成功,我们获取了与客户端通信的输入流和输出流,通过这些流可以接收和发送消息。ServerSocketaccept()
在示例中,我们首先读取客户端发送的消息,然后将响应发送给客户端。最后,我们关闭了连接。
请注意,这只是一个简单的示例,仅用于演示基本的服务器端Socket编程。在实际应用中,您可能需要处理多个客户端的连接,并设计更复杂的通信协议。