首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
确定删除此收藏集吗
删除后此收藏集将被移除
取消
确定删除
确定删除此文章吗
删除后此文章将被从当前收藏集中移除
取消
确定删除
编辑收藏集
名称:
描述:
0
/100
公开
当其他人关注此收藏集后不可再更改为隐私
隐私
仅自己可见此收藏集
取消
确定
网络通信
订阅
BestDays
更多收藏集
微信扫码分享
微信
新浪微博
QQ
10篇文章 · 0订阅
【NIO系列】——之Reactor模型
通过之前的Unix的IO模型介绍,想必也了解到了5种IO模型。java的NIO是属于同步非阻塞IO,关于IO多路复用,java没有相应的IO模型,但有相应的编程模式,Reactor 就是基于NIO中实现多路复用的一种模式。本文将从以下几点阐述Reactor模式: 常见的网络服务…
【NIO系列】——之TCP探秘
在介绍NIO之前有必要了解下TCP协议,因为目前多数应用都是给予应用层进行操作,导致隐藏了大量的网路细节,知道这些细节以及原理对我们的问题排查很有益处。 TCP 是一种面向连接的协议,它给用户进程提供可靠的全双工的字节流。确保数据包的可靠,有序,以及支持流量控制。关于TCP 为…
【NIO系列】——之IO模型
上一篇我们讲到了关于TCP/IP协议的一些内容,这些是网络编程的必备知识。在了解NIO之前我们必须要了解一下对应的系统层IO模型,比如java的NIO对应是那种IO模型,阻塞和同步的差异在哪里,又是否相同。了解了这些更方便我们的后续的NIO探解。 同步、异步,阻塞、非阻塞,这四…
【NIO系列】——之Netty
如果你看过前面三篇文章,我们从最低层来分解NIO底层原理和使用方式,帮忙我们理解了NIO是什么,解决了什么问题,以及又有那些不足。 原则上NIO的出现,已经提升和加快了网络IO的处理方式,但它只能帮忙我们解决了IO层次的读写问题,在软件层次上我们需要更好的编程架构模型,来解决扩…
简单聊聊TCP的可靠性
发送方连续先后发送两个数据包, 后发送的数据包可能先到达接收方,如果接收方按接收顺序处理数据包,这就会导致接收的数据包与发送的数据包不一致。 ...... 为了能够检测到数据包在传输过程中是否发生了差错,TCP引入了checksum。 接收方接收到多个报文后,可以基于seq多数…
高性能 Netty 之 TCP 粘包/拆包
上一篇文章讲了关于 Netty 初体验。这篇文章主要是讲解 Netty 是如何解决 TCP 粘包/拆包 的问题。 TCP 粘包/拆包 其实是网络编程最经常用到的。只要一天依赖着 TCP,那么你就跑不掉。例如你做网络应用,如果你使用 Socket 进行网络通信,那你其实相当于在传…
TCP粘包拆包及解决方法
粘包拆包问题是处于网络比较底层的问题,在数据链路层、网络层以及传输层都有可能发生。我们日常的网络应用开发大都在传输层进行,由于UDP有消息保护边界,不会发生粘包拆包问题,因此粘包拆包问题只发生在TCP协议中。 **第一种情况:**接收端正常收到两个数据包,即没有发生拆包和粘包的…
再谈HTTPS
本篇将讨论HTTPS的加解密原理,很多人都知道RSA,以为HTTPS = RSA,使用RSA加解密数据,实际上这是不对的。HTTPS是使用RSA进行身份验证和交换密钥,然后再使用交换的密钥进行加解密数据。身份验证是使用RSA的非对称加密,而数据传输是双方使用相同的密钥进行的对称…
跟着动画来学习TCP三次握手和四次挥手
TCP三次握手和四次挥手的问题在面试中是最为常见的考点之一。很多读者都知道三次和四次,但是如果问深入一点,他们往往都无法作出准确回答。 本篇尝试使用动画来对这个知识点进行讲解,期望读者们可以更加简单地地理解TCP交互的本质。 TCP 三次握手就好比两个人在街上隔着50米看见了对…
TCP的三次握手四次挥手
相对于SOCKET开发者,TCP创建过程和链接折除过程是由TCP/IP协议栈自动创建的.因此开发者并不需要控制这个过程.但是对于理解TCP底层运作机制,相当有帮助. 因此在这里详细解释一下这两个过程。 TCP/IP协议的详细信息参看《TCP/IP协议详解》三卷本。下面是TCP报…