使用Socket编程HTTP服务
- 创建一个maven项目
- 创建RawHttpServerSocket
package server;
import java.io.*;
import java.net.ServerSocket;
public class RawHTTPServer {
public static void main(String[] argv) throws IOException {
ServerSocket serverSocket = new ServerSocket(8000);
//主线程
while (true) {
//Blocking...阻塞
//Thread -->sleep--->Other Threads
var socket=serverSocket.accept();
System.out.println(socket);
var ipStream = new DataInputStream(socket.getInputStream());
var bfReader = new BufferedReader(new InputStreamReader(ipStream));
var requestBuilder = new StringBuilder();
String line="";
//Readline -> line end
while (!(line = bfReader.readLine()).isBlank()) {
requestBuilder.append(line+"
");
}
var request =requestBuilder.toString();
System.out.println(request);
var bfWriter = new BufferedWriter(new OutputStreamWriter(socket.getOutputStream()));
bfWriter.write("HTTP/1.1 200 ok
Hello World!
");
bfWriter.flush();
socket.close();
}
}
}
- 运行后ctrl+r 输入cmd 打开终端控制台输入以下内容就可以返回Heelo World!
- 查看Idea打印信息,完美实现
上一篇:
Java架构师技术进阶路线图
下一篇:
HTTPS协议是如何保证安全的?
