java 监听端口_一个基于Socket的http请求监听程序实现(转)
时间: 2024-02-22 07:57:30 浏览: 121
好的,我可以回答您的问题。以下是一个基于Socket的http请求监听程序的实现示例:
```java
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.net.ServerSocket;
import java.net.Socket;
public class HttpServer {
public static void main(String[] args) {
int port = 8080; // 监听的端口号
try {
ServerSocket server = new ServerSocket(port);
System.out.println("Server started on port " + port);
while (true) {
Socket client = server.accept();
System.out.println("New client connected");
// 读取客户端发送的请求
BufferedReader requestReader = new BufferedReader(new InputStreamReader(client.getInputStream()));
String requestLine = requestReader.readLine();
System.out.println("Request line: " + requestLine);
// 关闭连接
client.close();
}
} catch (IOException e) {
e.printStackTrace();
}
}
}
```
这个程序会监听本地的8080端口,当客户端连接时,它会读取客户端发送的http请求的第一行(即请求行),并将其打印到控制台上。当请求处理完毕后,程序会关闭连接,等待下一个客户端连接。
当您需要在Java应用程序中监听端口时,只需创建一个ServerSocket对象并调用其accept()方法,该方法将阻塞程序直到有客户端连接。一旦客户端连接,您就可以读取客户端发送的数据并对其进行处理。处理完成后,关闭连接并等待下一个客户端连接。
希望这个示例能够帮助到您!如果您还有其他问题,请随时问我。
阅读全文