使用Socket编程HTTP服务

  1. 创建一个maven项目
  2. 创建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 '\n'
            while (!(line = bfReader.readLine()).isBlank()) {
                    requestBuilder.append(line+"\n");
            }

            var request =requestBuilder.toString();
            System.out.println(request);

            var bfWriter = new BufferedWriter(new OutputStreamWriter(socket.getOutputStream()));
            bfWriter.write("HTTP/1.1 200 ok\n\nHello World!\n");
            bfWriter.flush();
            socket.close();
        }
    }
}

  1. 运行后ctrl+r 输入cmd 打开终端控制台输入以下内容就可以返回Heelo World!
    在这里插入图片描述
  2. 查看Idea打印信息,完美实现
    在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/weixin_51250404/article/details/121018474