Java网络编程中服务器端问题示例
在Java网络编程中,服务器端的问题通常涉及到客户端的连接、数据传输以及错误处理等方面。以下是一个简单的示例:
- 创建ServerSocket监听:
```java
import java.io.*;
import java.net.ServerSocket;
import java.net.Socket;
public class Server {
private static Server server = new Server();
public static void main(String[] args) throws IOException {
int port = 9999; // 服务器端口
System.out.println("Server started on port " + port);
server.acceptAndHandleClient(port);
}
// 主要方法,处理客户端连接
private void acceptAndHandleClient(int port) throws IOException {
ServerSocket ss = new ServerSocket(port); // 创建服务器套接字
Socket clientSocket = ss.accept(); // 等待客户端连接
System.out.println("New connection from " + clientSocket.getRemoteSocketAddress()));
handleClient(clientSocket);
}
// 业务处理方法,根据具体需求编写
private void handleClient(Socket clientSocket) throws IOException {
BufferedReader in = new BufferedReader(new InputStreamReader(clientSocket.getInputStream()))); // 创建输入流
String message;
while ((message = in.readLine()) != null)) { // 读取客户端消息
System.out.println("Received message: " + message));
// 在这里处理业务逻辑,可以发送回信等
if (message.equals("Hello Server")) {
sendResponse(clientSocket, "Hello Client"));
}
}
in.close(); // 关闭输入流
}
private void sendResponse(Socket clientSocket, String response) throws IOException {
OutputStream out = clientSocket.getOutputStream();
out.write(response.getBytes()); // 发送响应
out.flush();
}
}
```
这个示例创建了一个简单的服务器,监听9999端口。当有客户端连接时,会发送一个”Hello Server”的消息,并回复同样的消息。
还没有评论,来说两句吧...