zoukankan      html  css  js  c++  java
  • 网络编程-20200427

    BIO、NIO、AIO

    网络协议:

           【1】已经约定熟成的,适用于绝大部分情况的标准。

           【2】公司或者闭门、组织根据自己需求设计的协议。

           【3】设计目的:传递数据,数据在传递期间,需要进行响应的封装和拆封,尤其重要的是:如今的网络环境日益复杂,在必要的qingkua你改下,需要对数据进行加迷和解密。

    BIO :阻塞通讯

           [1]通讯的过程中,必然存在一个发送发,一个接收方。

           [2]发送数据之前,首先明确目标服务器的地址:ip域名

           [3]为了方便记忆网络地址——域名。通过DNS服务器来进行解析。【一个服务器,提供庞大的map,key:域名,value:ip地址】

           [4]首先访问的是houst文件,如果访问不到,返回DNS解析。

           [5]端口:地址 + 收件人;IP + PORT;每一台接入的计算机,mei个应用的端口都是不能重复的。


    InetAddress.getByName()

    [1] getHostName()

    [2] getHostAddress()

    [3] getLocalHostName()

    Socket:TCP/IP

    【1】三次握手:

          1:请求方向服务方询问:hi?——判断服务方是否在线;

          2:服务方接到请求回复:收到了

          3:请求方最后确认:建立连接。

          4:三次握手完毕,正式建立连接。——目的:保证数据在传递的时候,绝对安全,能够有序、有效、完整的传递给对方。——优点:保证数据的绝对安全。

    【2】实现Socket【支持不同工程之间的通讯!!】

    【4】

          2:明确客户端——Socket –InetAddress.getByName(‘localhost’).getHostAddress()[与那成主机地址] –port[跟客户端接口保持一致]

          3:服务器和客户端之间,通常是客户端首先主动向服务器发起请求。

          4:通讯时通过:数据流来完成的。不要用缓冲流,因为其本身就有缓冲!--

    note:

          【1】保障客户端的ip和端口和服务器一直:正常建立通讯。——三次握手!

          【2】任何一个应用既可以是服务器,也可以是客户端。保障双向通讯!——推送

          【3】流一旦关闭,将同时关闭socket连接

          【4】字节流略显繁琐——二进制流 || 序列化与反序列化

                 -二进制流:不需要实现准备序列化对象

                 -序列化和反序列化:需要有序列化对象。好处:可以直接将数据放入对象当中。确定:需要在不同的工程当,建立相同的序列化对象。——必须包命路径完全一致

          【5】一个单线:持续通讯:通过手机用循环来保证通讯的持续。


    工具:wireshark

  • 相关阅读:
    mysql5.7.26做主从复制配置
    linux编译安装mysql5.7
    suse清除kthrotlds木马病毒
    iptables 常用命令
    抓包工具fiddler下载配置(二):浏览器设置代理
    抓包工具fiddler下载配置(三):手机设置代理
    抓包工具fiddler下载配置(一):下载/安装&信任证书
    如何录制视频生成GIF动态图?
    安装第三方包&查看python版本/第三方包版本
    python3项目打包成exe可执行程序
  • 原文地址:https://www.cnblogs.com/macro-renzhansheng/p/12801262.html
Copyright © 2011-2022 走看看