程序聚合 软件案例 一点通服务器:分接入服务器和业务服务器两大模块

一点通服务器:分接入服务器和业务服务器两大模块

2025-05-04 22:25:20
行业:生活服务、社交
载体:Windows应用
技术:C++、PHP

业务背景

负责一点通接入服务器和业务服务器全部代码编写, 负责确保服务器的稳定性和正确性
的前提下, 不断地优化服务器的性能, 负责测试客户端代码的编写(采用MFC编写), 负责与测试人员的沟通和交流, 负责维护服务器运维过程中出现的BUG

功能介绍

负责公司整个服务器代码的编写, 服务器用Linux c++开发, 该服务器目前正在联通上线(服务器分接入服务器和业务服务器两种), 负责测试客户端的编写, 客户端使用MFC来开发, 目前该服务器能够达到稳定运行, 无明显的内存泄漏, 对客户端的连接和服务器的业务处理可以做到负载均衡, 对服务器的架构和整个服务器的业务流程非常了解(包括客户端的连接, 接入服务器消息的分发, 业务服务器业务的处理), 目前和联通合作的推送服务器已经做到了二期的版本, 即将开发做第三期的开发, 接入服务器和业务服务器通过部署多个实例来达到缓解服务器压力的目的, 业务服务器的推送任务包括任务的翻译和推送两个流程, 为了减缓数据库查询的压力, 发送给客户端的推送消息又分为主动推送和被动推送两种, 主动推送即业务服务器通过接入服务器序号和客户端连接socket主动地把消息推送给客户端, 而被动推送即客户端来一个请求才发送一个任务推送给客户端

项目实现

1、【接入服务器】
1.1、接入模块: 采用epoll模式来支持客户端的大并发连接
1.2、消息接收模块: 使用链式队列来保存epoll触发所返回的socket id, 采用哈希表来保证线程池中线程接收消息的唯一性, 使用消息缓存来保证一次接收客户端消息的完整性, 使用顺序队列来保存接收到完整的客户端消息
1.3、业务服务器路由模块: 根据业务服务器配置文件来连接所有的业务服务器, 并产生相应的接收线程来接收业务服务器的消息
1.4、超时检测模块: 此模块可以检测业务服务器忙碌与否(通过客户端发包的时间与当前的时间做比较, 如果业务服务器返回数据包, 会删掉此对应的消息包)
1.5、接入服务器重连机制: 此模块使得接入服务器与业务服务器断开时避免重启接入服务器, 并通过轮询业务服务器配置文件来连接新的业务服务器
1.6、消息分发模块: 采用线程池的方式, 负责客户端消息的分发(通过消息类型, 主业务码和子业务码来路由到相应的业务服务器中), 此模块采用负载均衡的方式, 如果当前业务量很大的话, 可以加大业务服务器(软)的数量
1.7、客户端消息分发模块: 取出接收到的业务服务器消息包中的接入服务器序号和消息计数器信息, 从哈希表中找到相对应的socket id, 并且分发到对应的客户端中
1.8、心跳检测模块: 通过客户端连接时间和当前时间做比较(如果客户端发送了数据包, 会修改对应的客户端连接时间), 如果超过一定的时间, 会主动把客户端断开
备注: 如果当前接入服务器的连接数量过大的话, 可以适量添加接入服务器(软)的数量

2、【业务服务器】
2.1 【通用业务服务器】(与接入服务器的交流是双向的)
2.1.1、接入模块: 负责与接入服务器的连接, 每一个接入服务器连接都会产生接收线程(对应queue_in消息队列), 发送线程(对应queue_out消息队列)和处理

示例图片视频


程序员
24小时内活跃
方向: 后端-C++、爬虫/脚本-爬虫/脚本、
交付率:100.00%
相似推荐
光追渲染器
- 全局光照(Global Illumination) 精确计算间接光照(如墙角暗部的柔光、物体间的颜色渗透),替代传统光照贴图的烘焙模式。 - 精确反射/折射 支持递归光线追踪,实现镜面反射(如汽车漆面)、透明材质折射(如琥珀内部的昆虫细节)、菲涅尔效应(如水面随视角变化的反射强度)。 - 软阴影与接触硬化 根据光源大小生成边缘柔化的阴影(如阴天的自然柔影),并实现物体接触区域的锐利阴影(如杯子与桌面接触处的硬边)。
微信小游戏-各种小游戏
游戏的完整流程 账号注册、登陆,日常任务,节点激励,积分商城,主线任务,支线任务,核心玩法,新手引导,单机对战,实时联网竞技,物理模拟仿真等。可完成主流游戏的各种功能模块的开发,联调,测试,部署功能
元宇宙平台-whee
可以进行捏脸,在表情上可以直接进行人像驱动,有几百种服装可以进行随意换装,人物互动在场景内可以随意交互,场景也多种多样。附带社交属性,玩家可以通过游戏结识好友。受到了玩家的一致好评,不断的出各种功能和服饰。捏脸也不断的细致。
手机游戏-少年三国志零
游戏独创 4×4 布阵玩法,彻底颠覆传统策略卡牌模式。三国英豪被划分为重、轻、步、盾、弓、谋六大类型主将。玩家可依据兵种相克原理,如重克步、步克弓等,自由调整主将站位。不同的站位组合能衍生出千变万化的阵型,例如将高防御的盾兵主将置于前排,抵挡敌方攻击,后排搭配弓兵、谋士主将进行远程输出。这种高度自由的布阵方式,让玩家能根据敌方阵容灵活应变,以奇招获取战斗胜利,极大地提升了策略性与趣味性。 《少年三国志:零》采用全新赛季制玩法,每月开启新赛季,每个赛季都设有丰厚新奖励,同时推出限时副本挑战。在跨服夺城玩法中,玩家需与所在联盟成员紧密协作,共同参与高能对决。各联盟为争夺城池展开激烈交锋,玩家要在战斗中合理调配资源、制定战术,与盟友默契配合,通过占领据点、击败敌方玩家等方式,为联盟争夺无上荣耀,助力联盟称霸全服。此玩法增强了玩家间的社交互动与团队协作,营造出热血沸腾的竞争氛围。 军师在游戏中扮演着关键角色,他们亲临波谲云诡的九州战场。玩家需精准判断时机释放军师技能,不同军师技能相互融合,能产生威力倍增的效果。例如诸葛亮的 “八卦阵” 与庞统的 “连环计” 融合,可对敌方造成范围巨大伤害与控制效果。在战斗过程中,玩家凭借实时微操,利用军师技能扭转战局,体验即时战略与攻防博弈的快感,实现瞬间翻盘,充分满足策略爱好者对策略深度与操作技巧的追求。 游戏鼓励玩家跳出固定阵容思维局限,自由选择心目中的猛将精兵。通过多样的组合套路,激发不同流派效果,如以关羽、张飞等猛将组成暴力输出流,或者围绕华佗、左慈等谋士构建辅助治疗流。无论玩家偏好何种风格,都能打造出属于自己的创意战斗体系,真正做到只要策略运用得当,任何武将都有机会成为队伍核心(C 位),充分展现了游戏阵容搭配的丰富性与自由度。”
基于虚幻5的MySQL数据库连接器插件
从技术上讲,该插件采用了高效的TCP长连接策略,有效地减少了数据库连接的数量,防止数据库被过多的连接压垮。创新的连接池管理机制,通过对连接资源的智能分配和重用,显著提高了数据库操作的响应速度和系统资源的利用率。 此外,该插件还支持SQL命令的排队处理,保证了数据库操作的连续性和稳定性。异步请求机制的设计保证了在数据库操作过程中游戏主线程不被阻塞,避免了游戏延迟,显著提升了玩家的游戏体验。 值得一提的是,该插件完全支持事务处理,允许同时执行多个SQL命令而不会导致连接溢出,从而确保数据的一致性和完整性。与市场上只提供基本MySQL连接功能的插件相比,我们的产品在专业性和功能性方面具有明显的优势。 对Blueprint和c++调用的双重支持使这个插件在兼容性和易用性方面处于领先地位。无论你是在一个大型的在线游戏项目,优先考虑的稳定性或团队,寻求一个高效的开发工作流程,这个MySQL数据库连接插件工具是一个杰出的选择,你不会想错过体验它现在和提升你的游戏项目到一个新的高度,在数据库操作!
帮助文档   Copyright @ 2021-2024 程序聚合 | 浙ICP备2021014372号
人工客服