注:本文并没有实现完整的http服务器和http网络请求,主要是提供思路
先上一个简单的get请求和响应的代码,代码使用idea测试过,使用时先运行服务端,然后再运行客户端测试,服务端测试也可以通过使用浏览器输入localhost:5050进行测试
服务端
public class LiteHttpServerTest {
public static void main(String[] args) {
listen(5050);
}
public static void listen(int port) {
new Thread(() -> {
try {
ServerSocket serverSocket = new ServerSocket(port);
while (true) {
Socket accept = serverSocket.accept();
new ServerSocketHandler(accept).start();
}
} catch (IOException e) {
e.printStackTrace();
}
}).start();
}
public static class ServerSocketHandler extends Thread {
private final Socket socket;
public ServerSocketHandler(Socket socket) {
this.socket = socket;
}
@Override

本文介绍了如何使用Socket实现简单的HTTP服务器和客户端,并探讨了HTTP的Keep-Alive模式。在HTTP 1.1中,Keep-Alive默认开启,允许持久连接以提高效率。服务端通常设置超时时间和请求次数限制来关闭连接。客户端通过Content-Length或分块编码判断响应结束。同时推荐了一个HTTP服务器和请求实现库AndroidAsync。
最低0.47元/天 解锁文章
1551

被折叠的 条评论
为什么被折叠?



