2020-03-21 TCP/UDP协议(微专业)

一、tcp协议

 

 如果在面试的过程中,要讲这个,可以拿打电话这个场景来说明。

 二、UDP协议

 

用处:视频、直播、日志上报、

 三、TCP/UDP的比较

 

 

四、Socket

 

 

 五、http协议

1、客户端:

 

 2、服务端

 

 3、状态码

 

4、编写一个可以接受http请求的服务器

 

public class BIOServer2 {
    public static void main(String[] args) throws Exception {
        ExecutorService executors=Executors.newCachedThreadPool();
        ServerSocket ss=new ServerSocket(8080);
        System.out.println("服务器启动");
        while(!ss.isClosed()){
            Socket request = ss.accept();
            executors.execute(()->{
                try {
                    InputStream inputStream = request.getInputStream();
                    System.out.println("收到请求:");
                    BufferedReader bd=new BufferedReader(new InputStreamReader(inputStream, Charset.forName("utf-8")));
                    String msg=null;
                    while ((msg=bd.readLine())!=null){
                        if(msg.length()==0){
                            break;
                        }
                        System.out.println(msg);
                    }
                    //响应结果
                    OutputStream outputStream = request.getOutputStream();
                    outputStream.write("HTTP/1.1 200 OK\r\n".getBytes());
                    outputStream.write("Content-Length: 11\r\n\r\n".getBytes());
                    outputStream.write("Hello World".getBytes());
                    outputStream.flush();

                } catch (Exception e) {
                    e.printStackTrace();
                }
            });
        }
    }
}

 六、BIO

 

 1、阻塞、非阻塞跟同步、异步是不用概念的,程序可以做成同步阻塞、异步阻塞、同步非阻塞、异步非阻塞。

 

七、NIO(new IO,非阻塞IO)

1、缓存区

 

 

 2、channel 通道

 

 

 

 3、selector

 

 

 

 

 

posted @ 2020-03-21 16:07  math_lin  阅读(129)  评论(0编辑  收藏  举报