美文网首页一些收藏
远程通信协议基础

远程通信协议基础

作者: 降龙_伏虎 | 来源:发表于2020-01-08 14:33 被阅读0次
    • 一个http请求


      image.png
    • 应用层协议:
      http
      ftp
      smtp
      telnet

    • OSI七层网络模型


      image.png
    • 一个http请求访问网站的数据传输过程
    image.png
    • 负载均衡
      二层负载->对外提供VIP(虚拟ip),集群中每个机器采用相同ip,不同的Mac地址
      三层负载->对外提供VIP(虚拟ip),集群中每个机器采用不同的ip地址
      四层负载->传输层的负载,包含ip和端口,通过修改ip或者端口来完成负载
      七层负载->应用层负载,根据请求url/http请求报文 来进行负载

    TCP/IP协议的可靠性
    1.建立连接机制
    2.三次握手建立连接


    image.png

    3.SYN攻击
    4.连接的关闭:四次挥手


    image.png
    5.TCP是全双工
    6.长连接,发送心跳包维持连接
    • JAVA应用中如何建立传输案例
      socket->套接字
    public class ServerSocketDemo {
    
        public static void main(String[] args) {
            ServerSocket serverSocket=null;
            Socket socket=null;
            BufferedReader in=null;
            try {
                //服务器监听一个端口,ip(默认本机)
                 serverSocket = new ServerSocket(8080);
                //接收客户端连接(阻塞)
                 socket = serverSocket.accept();
                //获取输入流
                 in = new BufferedReader(new InputStreamReader(socket.getInputStream()));
                //打印接收到信息
                System.out.println(in.readLine());
            } catch (IOException e) {
                e.printStackTrace();
            } finally {
                try {
                    serverSocket.close();
                    socket.close();
                    in.close();
                } catch (IOException e) {
                    e.printStackTrace();
                }
    
            }
        }
    
    }
    
    public class ClentSocketDemo {
        public static void main(String[] args) {
            Socket socket = null;
            PrintWriter out = null;
            try {
                socket = new Socket("localhost", 8080);
                out = new PrintWriter(socket.getOutputStream(), true);
                out.println("hello,ZZB");
            } catch (IOException e) {
                e.printStackTrace();
            } finally {
                try {
                    if(socket!=null){
                        socket.close();
                    }
                    if(out!=null){
                        out.close();
                    }
                } catch (IOException e) {
                    e.printStackTrace();
                }
            }
        }
    }
    

    相关文章

      网友评论

        本文标题:远程通信协议基础

        本文链接:https://www.haomeiwen.com/subject/mdmmnctx.html