网络
文章平均质量分 82
搬运代码の外卖小哥
这个作者很懒,什么都没留下…
展开
-
TCP 协议特性
TCP协议是一个全双工协议。原创 2024-04-21 18:53:48 · 1215 阅读 · 0 评论 -
IEC104协议
IEC104规约是一个广泛应用于电力、城市轨道交通等行业的国际标准。原创 2024-04-21 16:04:35 · 818 阅读 · 0 评论 -
MQTT 协议
MQTT(Message Queuing Telemetry Transport,消息队列遥测传输协议),是一种基于发布/订阅(publish/subscribe)模式的“轻量级”通讯协议,该协议构建于TCP/IP协议上,由IBM在1999年发布。MQTT最大优点在于,用极少的代码和有限的带宽,为连接远程设备提供实时可靠的消息服务。作为一种低开销、低带宽占用的即时通讯协议,使其在物联网、小型设备、移动应用等方面有较广泛的应用。原创 2024-04-21 13:20:46 · 758 阅读 · 0 评论 -
RTMP协议
消息(Message)是RTMP协议中基本的数据单元。由Message Header和Message Payload(可以理解成message body)组成。FieldTypeCommentLength4 bytesMessage Payload(消息负载)的长度,不包含Message HeaderTimestamp3 bytes时间戳1 bytes消息类型,主要包括协议控制消息、音视频消息、命令消息等3 bytes消息流ID可以是任意值。不同的message可以有相同的值。原创 2024-04-18 15:39:39 · 897 阅读 · 0 评论 -
IO 多路复用
I/O 多路复用是一种在单个线程中处理多个I/O操作的机制。I/O 多路复用通过操作系统提供的特定系统调用, 在一个线程中监听多个I/O事件。当其中任何一个I/O事件就绪(可读、可写或异常)时,线程就会被唤醒,并且可以针对就绪的事件执行相应的操作,而不需要阻塞等待。原创 2024-04-15 21:19:47 · 749 阅读 · 0 评论 -
单线程Reactor模型
reactor 反应器:负责监听所有事件,当事件发生时,调用相应的处理程序。reactor 本身时一个事件循环,负责处理 I/O 事件。handler 处理程序:处理特点类型的事件。当 reactor 接收到事件时,他会调用相应的处理程序来执行具体的业务逻辑。当某个 Headler 阻塞时,会导致其他所有的 client 的 handler 都无法执行。性能问题,只有一个线程,无法完全发挥多核 CPU 的性能。模型简单,没有多线程,不存在资源竞争的问题。客户端数量有限,业务处理非常快速。原创 2024-04-10 22:27:53 · 328 阅读 · 0 评论 -
异步IO -- io_uring
io_uring是一种高效的 Linux 输入/输出(I/O)子系统,用于提高异步I/O的性能和灵活性。它提供了一种比传统的 POSIX 异步 I/O 接口更高效和可扩展的方法来执行文件操作、网络通信等任务。原创 2024-04-11 22:58:25 · 635 阅读 · 0 评论 -
epoll 与 io_uring 性能测试
通过上面测试结果可以看到,在相同的环境下,io_uring 与 epoll 的 qps 相差不大,epoll 要稍微高一些。当然这并不能说明 io_uring 比 epoll 的性能低,原因可能是本次没有涉及到大量的磁盘 IO 操作,有兴趣的小伙伴可以自己实现测试一下,有时间我也会在尝试一下。原创 2024-04-12 20:16:08 · 379 阅读 · 0 评论 -
百万并发测试
在网上看到什么百万并发之类的,感觉很高大上,也看了一些学习视频,决定自己测试一下,满足一下好奇心,同时也学习一些知识。本次主要在已经准备好的源码上对系统参数做出一些调整。虽然过程并不算复杂,但是自己搭建环境,实际操作下来确实会有更加直观的感受,就是有一点遗憾没有到达 100 万的并发。希望大家有时间可以自己试试。原创 2023-11-29 21:26:49 · 840 阅读 · 0 评论