- 一、前言 在上一章节我们设置了这样的一个练习题;“** 聊天表情发送功能实现 **”,那么你是否实现了发送表情呢,还是实现了更加强大的功能。学习的阶段当你已经入门了以后,就需要逐步开始简历自己的思维路径,并去实践。 二、流程设计 从我们的流程中可以看到,固定表情的发送与我们发送用户信息、群组信息,是一样的。但是这里有一个点需要注意,那就是需要定义消息类型。固定表... 一、前言 在上一章节我们设置了这样的一个练习题;“** 聊天表情发送功能实现 **”,那么你是否实现了发送表情呢,还是实现了更加强大的功能。学习的阶段当你已经入门了以后,就需要逐步开始简历自己的思维路径,并去实践。 二、流程设计 从我们的流程中可以看到,固定表情的发送与我们发送用户信息、群组信息,是一样的。但是这里有一个点需要注意,那就是需要定义消息类型。固定表...
- 发送命令请求 当用户在客户端中键入一个命令请求时, 客户端会将这个命令请求转换成协议格式, 然后通过连接到服务器的套接字, 将协议格式的命令请求发送给服务器。 读取命令请求 当客户端与服务器之间的连接套接字因为客户端的写入而变得可读时, 服务器将调用命令请求处理器来执行以下操作: 读取套接字中协议格式的命令请求, 并将其保存到客户端状态的输入缓冲区里面。对输入缓冲区中... 发送命令请求 当用户在客户端中键入一个命令请求时, 客户端会将这个命令请求转换成协议格式, 然后通过连接到服务器的套接字, 将协议格式的命令请求发送给服务器。 读取命令请求 当客户端与服务器之间的连接套接字因为客户端的写入而变得可读时, 服务器将调用命令请求处理器来执行以下操作: 读取套接字中协议格式的命令请求, 并将其保存到客户端状态的输入缓冲区里面。对输入缓冲区中...
- 上一篇我们详细分析了源码分析 RocketMQ DLedger 多副本之 Leader 选主,本文将详细分析日志复制的实现。 本节目录 1、日志复制基本流程1.1 如何判断 Push 队列是否已满1.2 Leader 节点存储数据1.3 主节点等待从节点复制 ACK1.3.1 updatePeerWaterMark 方法1.3.2 wakeUpDispatch... 上一篇我们详细分析了源码分析 RocketMQ DLedger 多副本之 Leader 选主,本文将详细分析日志复制的实现。 本节目录 1、日志复制基本流程1.1 如何判断 Push 队列是否已满1.2 Leader 节点存储数据1.3 主节点等待从节点复制 ACK1.3.1 updatePeerWaterMark 方法1.3.2 wakeUpDispatch...
- Raft协议是分布式领域解决一致性的又一著名协议,主要包含Leader选举、日志复制两个部分。 温馨提示: 本文根据raft官方给出的raft动画进行学习,其动画展示地址:http://thesecretlivesofdata.com/raft/ 本节目录 1、Leader选举1.1 一轮投票中,只有一个节点发起投票的情况1.2 一轮投票中,超过一... Raft协议是分布式领域解决一致性的又一著名协议,主要包含Leader选举、日志复制两个部分。 温馨提示: 本文根据raft官方给出的raft动画进行学习,其动画展示地址:http://thesecretlivesofdata.com/raft/ 本节目录 1、Leader选举1.1 一轮投票中,只有一个节点发起投票的情况1.2 一轮投票中,超过一...
- 消息存储格式看文件编程 从 commitlog 文件的设计来学文件编程 我们知道 RocketMQ 的全量消息存储在 commitlog 文件中,每条消息的大小不一致,那如何对消息进行组织呢?当消息写入到文件中后,如果判别一条消息的开始与结束呢? 首先基于文件的编程模型,首先需要定义一套消息存储格式,用来表示一条完整的消息,例如 RocketMQ 的消息存储格式如下图所... 消息存储格式看文件编程 从 commitlog 文件的设计来学文件编程 我们知道 RocketMQ 的全量消息存储在 commitlog 文件中,每条消息的大小不一致,那如何对消息进行组织呢?当消息写入到文件中后,如果判别一条消息的开始与结束呢? 首先基于文件的编程模型,首先需要定义一套消息存储格式,用来表示一条完整的消息,例如 RocketMQ 的消息存储格式如下图所...
- 专栏介绍:《让天下没有难学的Netty》系列,基于 Netty,以源码分析为主要手段,关键流程给出流程图,从 通道篇、内存篇、性能篇三个维度深度剖析 Netty 的实现原理。 1、通道概述 我们从如下几个方面来简单了解一下 Channel。 通道的当前状态,open(端口打开)、connect(连接)。通道的配置,包含通道的配置属性与网络通信选项(Cha... 专栏介绍:《让天下没有难学的Netty》系列,基于 Netty,以源码分析为主要手段,关键流程给出流程图,从 通道篇、内存篇、性能篇三个维度深度剖析 Netty 的实现原理。 1、通道概述 我们从如下几个方面来简单了解一下 Channel。 通道的当前状态,open(端口打开)、connect(连接)。通道的配置,包含通道的配置属性与网络通信选项(Cha...
- 上帝视角网络设备大刘的电脑 A 和小美的电脑 B 可以通过网线连接起来,组成一个网络。A 发出来数据,B 都能接收到。反之 A 可以接收 B 发出来的所有数据。网线交换机没过多久,隔壁老王的电脑 C、阿丽的电脑 D、敏敏的电脑 E 也要加入到网络中来。只使用网线连接是搞不定的了,搞不定的问题就用分层的办法处理。数据链路层处理示意图于是就有了二层网络设备交换机,交换机提供网络互联功能。交换机交... 上帝视角网络设备大刘的电脑 A 和小美的电脑 B 可以通过网线连接起来,组成一个网络。A 发出来数据,B 都能接收到。反之 A 可以接收 B 发出来的所有数据。网线交换机没过多久,隔壁老王的电脑 C、阿丽的电脑 D、敏敏的电脑 E 也要加入到网络中来。只使用网线连接是搞不定的了,搞不定的问题就用分层的办法处理。数据链路层处理示意图于是就有了二层网络设备交换机,交换机提供网络互联功能。交换机交...
- Computer:路由器、交换机、猫Modem的简介、区别之详细攻略 目录 路由器、交换机的简介 交换机 路由器 猫Modem 外置式Modem的软件安装 外置式Modem的硬件安装 路由器、交换机、猫的区别 路由器、交换机的简介 ... Computer:路由器、交换机、猫Modem的简介、区别之详细攻略 目录 路由器、交换机的简介 交换机 路由器 猫Modem 外置式Modem的软件安装 外置式Modem的硬件安装 路由器、交换机、猫的区别 路由器、交换机的简介 ...
- Linux 磁盘管理之磁盘理论篇磁盘简介机械硬盘常用总线协议/磁盘类型SCSI协议并行SCSI 的演变SCSI-3 架构SCSI 协议模型SCSI 协议寻址 ATA 和 SATASerial Attached SCSI(串行 SCSI 协议) I/O(Input/Ouput)操作寻道时间旋转时延数据传输时延IOPS带宽(Throughput)利用率和响应时间... Linux 磁盘管理之磁盘理论篇磁盘简介机械硬盘常用总线协议/磁盘类型SCSI协议并行SCSI 的演变SCSI-3 架构SCSI 协议模型SCSI 协议寻址 ATA 和 SATASerial Attached SCSI(串行 SCSI 协议) I/O(Input/Ouput)操作寻道时间旋转时延数据传输时延IOPS带宽(Throughput)利用率和响应时间...
- Python语言学习:Python常用自带库(imageio、pickle)简介、使用方法之详细攻略 目录 imageio简介及其常见使用方法 pickle简介及其常见使用方法 简介 使用方法 简介及其常见使用方法 简介 使用方法 imageio简介及其常见使用方法 IMAIO是一个Python库,... Python语言学习:Python常用自带库(imageio、pickle)简介、使用方法之详细攻略 目录 imageio简介及其常见使用方法 pickle简介及其常见使用方法 简介 使用方法 简介及其常见使用方法 简介 使用方法 imageio简介及其常见使用方法 IMAIO是一个Python库,...
- HTTP:HTTP的server and client详细攻略 目录 设计思路 HTTP的server and client术语解释 1、服务器端指response 2、客户端指request 3、HTTP 协议定义服务器端,和客户端之间文件传输的沟通方式 4、HTTP传输的基本过程 设计思路 HTTP的serve... HTTP:HTTP的server and client详细攻略 目录 设计思路 HTTP的server and client术语解释 1、服务器端指response 2、客户端指request 3、HTTP 协议定义服务器端,和客户端之间文件传输的沟通方式 4、HTTP传输的基本过程 设计思路 HTTP的serve...
- 下载 yum -y install gcc pcre pcre-devel zlib zlib-devel openssl openssl-devel wget https://nginx.org/download/nginx-1.14.0.tar.gz tar -xzvf nginx-1.14.0.tar.gz cd nginx-1.14.0 配置安装 ./configur... 下载 yum -y install gcc pcre pcre-devel zlib zlib-devel openssl openssl-devel wget https://nginx.org/download/nginx-1.14.0.tar.gz tar -xzvf nginx-1.14.0.tar.gz cd nginx-1.14.0 配置安装 ./configur...
- 概念 QPS:Queries Per Second意思是“每秒查询率”,是一台服务器每秒能够相应的查询次数,是对一个特定的查询服务器在规定时间内所处理流量多少的衡量标准。 TPS:是TransactionsPerSecond的缩写,也就是事务数/秒。它是软件测试结果的测量单位。一个事务是指一个客户机向服务器发送请求然后服务器做出反应的过程。客户机在发送请求时开始计时,收到服务... 概念 QPS:Queries Per Second意思是“每秒查询率”,是一台服务器每秒能够相应的查询次数,是对一个特定的查询服务器在规定时间内所处理流量多少的衡量标准。 TPS:是TransactionsPerSecond的缩写,也就是事务数/秒。它是软件测试结果的测量单位。一个事务是指一个客户机向服务器发送请求然后服务器做出反应的过程。客户机在发送请求时开始计时,收到服务...
- 本文是读书笔记,原文见:https://www.cnblogs.com/ggjucheng/archive/2012/01/14/2322659.html 简介 用简单的话来定义tcpdump,就是:dump the traffic on a network,根据使用者的定义对网络上的数据包进行截获的包分析工具。 tcpdump可以将网络中传送的数据包的“头”完全截获下来提... 本文是读书笔记,原文见:https://www.cnblogs.com/ggjucheng/archive/2012/01/14/2322659.html 简介 用简单的话来定义tcpdump,就是:dump the traffic on a network,根据使用者的定义对网络上的数据包进行截获的包分析工具。 tcpdump可以将网络中传送的数据包的“头”完全截获下来提...
- 文章目录 起因重要字段三次握手四次挥手为什么握手只要三次,挥手要四次?为何建立连接时一起传输,释放连接时却要分开传输?为什么客户端在TIME-WAIT阶段要等2MSL? 起因 昨晚模拟面试的时候,发现自己有很多细节没有照顾到位,然后还很飘。 感谢我的老师,九点下班后用他自己宝贵的时间帮我面试。 今天慢慢总结。 首先说一下,UDP没有... 文章目录 起因重要字段三次握手四次挥手为什么握手只要三次,挥手要四次?为何建立连接时一起传输,释放连接时却要分开传输?为什么客户端在TIME-WAIT阶段要等2MSL? 起因 昨晚模拟面试的时候,发现自己有很多细节没有照顾到位,然后还很飘。 感谢我的老师,九点下班后用他自己宝贵的时间帮我面试。 今天慢慢总结。 首先说一下,UDP没有...
上滑加载中
推荐直播
-
用码道,让你的AI作品三步上朋友圈2026/08/04 周二 19:00-20:00
林华鼎-华为云AI开发者运营负责人
从入门 · 到做AI应用 · 到企业级开发。不教编程,只教用AI · 零代码、有产出、能带走、可炫耀 · 每课人人动手实操
回顾中 -
华为云码道Agent集成与鸿蒙实战2026/08/11 周二 19:00-21:00
王一男-华为云码道产品规划专家;李炎-华为云码道产品专家;彭江敏-华为云鸿蒙端云一体化开发专家
本次直播带你解读华为云码道7月份产品新特性、新功能。更有专家演示码道Agent Space × 钉钉机器集成实战,从0到1打通消息通道;码道鸿蒙端云一体化实战,快速搭建员工签到系统。
回顾中 -
基于华为云码道,构建你的定制化AI搭子2026/08/14 周五 09:00-11:30
明亮-华为云开发者发展与支持部部长
本期直播将向您全面介绍华为云码道产品,并基于码道手把手教你部署自己的定制化AI陪伴搭子。
回顾中
热门标签