当前位置: 首页 > web >正文

游戏服务器之聊天频道设计

1.背景:

对于一款网络游戏来说,聊天是基础的交互功能。常见了聊天频道有私聊,世界,公会,队伍,甚至所有服都连接起来的全服聊天。

本文主要目的是,设计一套简单通用的聊天框架。

基本思想:

使用统一的API处理所有的聊天频道。

并非所有聊天记录都需要存放到数据库,例如世界聊天,由于交互时效问题,重启丢失消息也可以接受。

2.聊天基础

基本流程是:

  1. 当玩家发送聊天的请求消息,先判断指定的频道能否发送,例如私聊的时候我方是否是对方的黑名单;
  2. 验证通过后,将消息保存到内存或者数据库,直接返回发送成功的返回值给客户端;
  3. 服务器收集指定频道的消息接收者列表,异步推送给所有玩家。
  4. 当玩家登录的时候,需要统一收集所有频道的离线消息,一次性推给客户端。

对一些基础的操作作抽象,如下:

/*** 聊天频道处理器*/
public interface Cha
http://www.xdnf.cn/news/7244.html

相关文章:

  • 双紫擒龙紫紫红指标源码学习,2025升级版紫紫红指标公式-重点技术
  • transformer project tutorial
  • volatile
  • Python实例题:Flask开发轻博客
  • mybatis中的resultMap的association及collectio的使用
  • 【动态规划】状压dp
  • Mlp-Mixer-BiGRU故障诊断的python代码合集
  • LLMs:《POE报告:2025年春季人工智能模型使用趋势》解读
  • 实习记录小程序|基于SSM+Vue的实习记录小程序设计与实现(源码+数据库+文档)
  • 涉密载体管控系统|DW-S402系统组成
  • 【LLM MoE】论文分享No.11:DeepSeekMoE
  • 前缀和——中心数组下标
  • Leetcode 3552. Grid Teleportation Traversal
  • 【开源分享】健康饮食管理系统(双端+论文)
  • 2- PyTorch
  • 如何使用 Apple 提供的 benchmark 工具
  • 深入解析Spring Boot与Spring Cloud在微服务架构中的实践
  • 卷积神经网络进阶:转置卷积与棋盘效应详解
  • 常见的请求头(Request Header)参数
  • 学习黑客Active Directory 入门指南(四)
  • 代码随想录哈希表part02(二)
  • 学习黑客Active Directory 入门指南(一)
  • 【iOS(swift)笔记-9】WKWebView无法访问网络
  • 微服务项目->在线oj系统(Java版 - 1)
  • Python数据分析三剑客:NumPy、Pandas与Matplotlib安装指南与实战入门
  • 政务数据分类分级标准规范全解析
  • 标准差和方差是什么
  • 【GESP】C++三级真题 luogu-B3926 [GESP202312 三级] 单位转换
  • 【藏经阁】加密机服务完整解决方案,包含客户端+服务端
  • “二维前缀和”算法原理及模板