zoukankan      html  css  js  c++  java
  • 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
    ".getBytes());
                        outputStream.write("Content-Length: 11
    
    ".getBytes());
                        outputStream.write("Hello World".getBytes());
                        outputStream.flush();
    
                    } catch (Exception e) {
                        e.printStackTrace();
                    }
                });
            }
        }
    }

     六、BIO

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

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

    1、缓存区

     

     2、channel 通道

     3、selector

     

     

  • 相关阅读:
    Pandas数据分析 (三)
    Pandas数据分析 (二)
    Pandas数据分析 (一)
    Django后台应用管理名称修改
    Jupyter Notebooks 配置
    Hadoop完全分布式搭建流程
    Java学习笔记(五)
    微信小程序学习笔记(一)
    redis windows版安装
    Linux计划任务
  • 原文地址:https://www.cnblogs.com/mathlin/p/12539800.html
Copyright © 2011-2022 走看看