摘要: 首发原文链接: https://mp.weixin.qq.com/s/2FrRyST3o7h6IN9zjZMKjw Swoole 协程与 Go 协程的区别 进程、线程、协程的概念 进程是什么? 进程就是应用程序的启动实例。 例如:打开一个软件,就是开启了一个进程。 进程拥有代码和打开的文件资源,数据 阅读全文
posted @ 2019-05-28 22:36 Yxh_blogs 阅读(3150) 评论(1) 推荐(2) 编辑
摘要: 原文首发链接:Swoole 实践篇之结合 WebSocket 实现心跳检测机制 大家好,我是码农先森。 引言 前段时间在 Swoole 的交流群里,有群友提问:“如何判断用户端是否在线”。我给予的答案是:“通过在客户端实现心跳包” 来实时记录用户端的心跳数据,最终作为用户是否实时在线的依据。 结合我 阅读全文
posted @ 2024-04-22 22:21 Yxh_blogs 阅读(2) 评论(0) 推荐(0) 编辑
摘要: 原文首发链接:Swoole 实践篇之结合 WebRTC 实现音视频实时通信方案 大家好,我是码农先森。 引言 这次实现音视频实时通信的方案是基于 WebRTC 技术的,它是一种点对点的通信技术,通过浏览器之间建立对等连接,实现音频和视频流数据的传输。 在 WebRTC 技术中通常使用 WebSock 阅读全文
posted @ 2024-04-16 22:31 Yxh_blogs 阅读(1) 评论(0) 推荐(0) 编辑
摘要: 原文首发链接:Swoole 源码分析之 Timer 定时器模块 大家好,我是码农先森。 引言 Swoole 中的毫秒精度的定时器。底层基于 epoll_wait 和 setitimer 实现,数据结构使用最小堆,可支持添加大量定时器。 在同步 IO 进程中使用 setitimer 和信号实现,如 M 阅读全文
posted @ 2024-04-07 22:54 Yxh_blogs 阅读(2) 评论(0) 推荐(0) 编辑
摘要: 原文首发链接:Swoole 源码分析之 Channel 通道模块 大家好,我是码农先森。 引言 通道,用于协程间通讯,支持多生产者协程和多消费者协程。底层自动实现了协程的切换和调度。 通道与 PHP 的 Array 类似,仅占用内存,没有其他额外的资源申请,所有操作均为内存操作,无 IO 消耗。 底 阅读全文
posted @ 2024-04-04 16:18 Yxh_blogs 阅读(4) 评论(0) 推荐(0) 编辑
摘要: 首发原文链接:Swoole 源码分析之 Coroutine 协程模块 大家好,我是码农先森。 引言 协程又称轻量级线程,但与线程不同的是;协程是用户级线程,不需要操作系统参与。由用户显式控制,可以在需要的时候挂起、或恢复执行。 通过协程程序可以在执行的过程中保存当前的状态,并在恢复后从该状态处继续执 阅读全文
posted @ 2024-03-26 23:03 Yxh_blogs 阅读(0) 评论(0) 推荐(0) 编辑
摘要: 首发原文链接:Swoole 源码分析之 WebSocket 模块 大家好,我是码农先森。 Swoole 源码分析之 WebSocket 模块 引言 WebSocket 是一种在单个 TCP 连接上进行全双工通信的协议。它允许客户端和服务器之间进行实时数据传输。 与传统的 HTTP 请求-响应模型不同 阅读全文
posted @ 2024-03-18 09:35 Yxh_blogs 阅读(3) 评论(0) 推荐(0) 编辑
摘要: 首发原文链接:Swoole 源码分析之 Http Server 模块 大家好,我是码农先森。 引言 在传统的IO模型中,每个IO操作都需要创建一个单独的线程或进程来处理,这样的操作会导致系统资源的大量消耗和管理开销。 而IO多路复用技术通过使用少量的线程或进程同时监视多个IO事件,能够更高效地处理大 阅读全文
posted @ 2024-03-11 09:28 Yxh_blogs 阅读(13) 评论(0) 推荐(0) 编辑
摘要: 首发原文链接:Swoole 源码分析之 Http Server 模块 Swoole 源码分析之 Http Server 模块 Http 模块的注册初始化 这次我们分析的就是 Swoole 官网的这段代码,看似简单,实则不简单。 在 Swoole 源码文件 swoole_http_server.c 中 阅读全文
posted @ 2024-02-18 16:50 Yxh_blogs 阅读(12) 评论(0) 推荐(0) 编辑
摘要: 首发原文链接:深入理解 Swoole 的底层加载原理 PHP 扩展加载 我们从 php-src/sapi/cli/php_cli.c:1159 文件的入口函数 int main(int argc, char *argv[]) 开始分析。 大家可以先看下面这张图,描述了整个关键函数的加载、调用流程。从 阅读全文
posted @ 2024-01-15 22:09 Yxh_blogs 阅读(15) 评论(0) 推荐(0) 编辑
摘要: 首发原文链接:迟来的2023年终总结 大家好,我是码农先森。 成长 首先,上半年因公司项目规划的原因,研究了抖音数据的采集。基于这个缘故,对爬虫技术进行了一个深度学习。 学习的资料主要是来源这个网站 https://cuiqingcai.com/ 作者是:崔庆才。 同时配有可以练手的习题 https 阅读全文
posted @ 2024-01-06 10:13 Yxh_blogs 阅读(34) 评论(0) 推荐(0) 编辑