要用Java Socket创建一个服务器端,你需要遵循以下步骤:
- 导入所需的库
import java.io.*; import java.net.*;
- 创建一个ServerSocket对象,指定要监听的端口号
int port = 12345; ServerSocket serverSocket = new ServerSocket(port);
- 在循环中等待客户端连接
while (true) { // 接受客户端连接 Socket clientSocket = serverSocket.accept(); // 处理客户端请求 handleClient(clientSocket); }
- 创建一个处理客户端请求的方法
private void handleClient(Socket clientSocket) { try { // 获取输入输出流 InputStream inputStream = clientSocket.getInputStream(); OutputStream outputStream = clientSocket.getOutputStream(); // 读取客户端发送的数据 BufferedReader reader = new BufferedReader(new InputStreamReader(inputStream)); String message = reader.readLine(); // 处理数据(这里只是简单地将收到的消息打印到控制台) System.out.println("Received from client: " + message); // 向客户端发送响应 String response = "Hello from server!"; outputStream.write(response.getBytes()); outputStream.flush(); // 关闭资源 reader.close(); outputStream.close(); clientSocket.close(); } catch (IOException e) { System.out.println("Error handling client: " + e.getMessage()); } }
- 在主方法中启动服务器
public static void main(String[] args) { int port = 12345; ServerSocket serverSocket = new ServerSocket(port); System.out.println("Server started on port " + port); while (true) { // 接受客户端连接 Socket clientSocket = serverSocket.accept(); // 处理客户端请求 handleClient(clientSocket); } }
将以上代码保存到一个名为Server.java
的文件中,然后使用以下命令编译和运行:
javac Server.java java Server
现在,你的服务器已经启动并监听12345端口。当客户端连接到该端口并发送消息时,服务器将读取消息并将其打印到控制台,然后向客户端发送响应。