摘要: 如果所示: 无论客户端还是服务端链接网关的socket都拆分为读EPoll、写EPoll分别独立。 有两个线程:线程A(左)、线程B(右): 线程A负责服务端Socket的读和客户端socket的写,当读到服务端socket发给客户端的数据时根据规则找到对应的客户端的socket并直接写。 线程B负 阅读全文
posted @ 2025-05-01 22:56 码客-ygluu 阅读(42) 评论(0) 推荐(0)
摘要: 上周末和一位策划大佬讨论小游戏,提到新手服数据和本服区分的问题。 在游戏界,跨服数据加载和保存也是一个复杂的业务,常规方法是玩家进入跨服的时候,由本服推送数据到跨服,回来的时候再从跨服带回相关数据。这个方案会随着业务需求变更会带来相当大的开发和维护成本。 我们讨论了数据保存的时候给数据打服务标签的方 阅读全文
posted @ 2025-04-20 10:18 码客-ygluu 阅读(65) 评论(0) 推荐(0)
摘要: 今天较深入学习了skynet游戏框架,提出接口函数改进方法。 游戏当中,基本是对游戏实体操作(全局对象/玩家/怪物/物品/地图等),而在多状态机(线程模式下)对游戏实体的操作更加麻烦。skynet.call和send函数没有直接定位到实体对象身上。本文抛弃了消息概念和Actor概念,提出了四个可以直 阅读全文
posted @ 2025-04-19 18:01 码客-ygluu 阅读(78) 评论(0) 推荐(0)
摘要: 可以在此基础上改进,监听的时候记录监听者所在线程,触发的时候把数据传递给监听者线程由监听者线程执行动作函数,这样就可以实现监听者线程内无锁执行。 AI提示词 using eca_cond = bool(*)(...); using eca_action = void(*)(...); class e 阅读全文
posted @ 2025-04-19 13:56 码客-ygluu 阅读(114) 评论(0) 推荐(0)
摘要: AI提示词 写vscode linux c++20 的CMakeLists.txt文件、build、rebuild文件 这是多项目结构,目录结构如下: projs: │ build.sh 顶层build.sh │ CMakeLists.txt 顶层CMakeLists.txt │ rebuild.s 阅读全文
posted @ 2025-04-19 12:10 码客-ygluu 阅读(96) 评论(0) 推荐(0)