要用Java Socket创建一个服务器端,你需要遵循以下步骤:
import java.io.*;
import java.net.*;
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端口。当客户端连接到该端口并发送消息时,服务器将读取消息并将其打印到控制台,然后向客户端发送响应。