美文网首页
白话网络通讯

白话网络通讯

作者: 阿里加多 | 来源:发表于2018-11-17 21:09 被阅读55次
  • 不同主机之间通讯本质-二进制流传输

无论你是纯socket通讯,还是应用层的http,Rpc协议进行通讯,本质底层都是传输二进制流

  • 不同主机如何认识二进制流为需要的内容-约定协议

既然是二进制,那么发送和接受方如何识别消息的边界,那就约定协议,比如http约定了http包的格式,Dubbo Rpc协议约定了dubbo包的格式

  • 不同主机之间如何通讯-socket通道

二进制流的传输本质是依赖socket通道,可以是udp,也可以是tcp

  • 发送方如何转换内容到二进制流-序列化

既然通讯本质是二进制流,那么发送方如何把业务POJO类转换为二进制流那?那就需要对POJO进行序列化,网卡会在你序列化后的二进制加上网络各层的协议头或者尾后,就通过网络进行传输了

  • 接收方如何转换二进制流到需要的内容-半包\粘包处理+反序列化

既然接收方接受到的是二进制流,那么如何转换为程序需要的POJO类那?首先网卡会把接受的二进制流中网络各层的协议头尾去掉,把业务二进制流传递给应用程序,然后你需要首先根据协议读取二进制流为一个完成的协议包,由于服务器一般有接受缓存,在完成这个过程中你可以需要解决粘包和半包问题,找到一个完整协议包的边界后,你需要把它根据协议里面约定的反序列规则反序列化二进制包为POJO类。

相关文章

  • 白话网络通讯

    不同主机之间通讯本质-二进制流传输 无论你是纯socket通讯,还是应用层的http,Rpc协议进行通讯,本质底层...

  • Mac 开发之网络通讯

    本文包含:Mac开发中网络通讯常见问题、Mac端 网络通讯demo。 错误一:输出台:App Transport ...

  • 网络通讯

    UDP UDP多播 多播(组播)的概念多播,也称为“组播”,将网络中同一业务类型主机进行了逻辑上的分组,进行数据收...

  • 网络通讯

    自从开始网络教学以来,我对网络通讯的理解也在悄无声息的发生着巨大的变化。刚刚开始上网课的时候,还是认为着网络通讯的...

  • Retrofit(二)--流程图

    移步Retrofit--网络通讯框架

  • 关于IPv6被拒的问题解决

    使用网络通讯框架; 避免使用 IPv4 专用的 API; 避免使用硬编码地址。 1> 使用网络通讯框架;也就是是说...

  • 白话聊斋目录

    白话聊斋1:考城隍白话聊斋2:耳中人白话聊斋3:尸变白话聊斋4:喷水白话聊斋5:瞳人语白话聊斋6:山魈白话聊斋7:...

  • TCP/IP协议及与OSI参考模型和五层协议的比较

    概念 (Transmission Control Protocol/Internet Protocol,网络通讯协...

  • Http网络通讯

    计算机网络知识 1.HTTP相关知识,包括一个Http请求的内部结构,Http各个版本的不同,Http的特性等等。...

  • 网络通讯协议

    网络通讯协议 本协议基于TCP协议进行开发每次通讯为短链接方式,链接不复用 数据发送 发送数据分为两块: cont...

网友评论

      本文标题:白话网络通讯

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