• 最终项目 XMessenger Servers


    最终项目 X-Messenger Servers

    最终项目 X-Messenger Servers

    X-Messenger是 轩辕高端IT培训中心 推出的即时通信(Instant Messenger)工具,支持文字聊天、文件传输、好友管理等即时通信功能。作为 Linux C++系列 课程的最终项目之一,旨在锻炼学员对C++基础、C++标准库、Boost类库或ACE(二者选其一)、数据库开发的掌握程度,同时通过该项目的实现,充分了解高吞吐量、低延迟的高性能服务器应用的设计和实现套路以及应用层通信协议的制定和实现。

    服务器端实现的功能:

    • 即时消息:支持即时消息、离线消息(其中即时消息系P2P方式实现);
    • 文件传输:以P2P方式实现;
    • 好友管理:添加、删除、修改好友;添加、删除、修改好友分组;
    • 用户状态管理:好友上线、离线,状态改变通知。

    服务器端架构:

    X-Messenger服务器群由多组功能不一的Server组成,各组Server分别承担各自的任务,以下是X-Messenger服务器端的网络拓扑示意图和服务器端架构图:

    X-Messenger 服务器网络拓扑图

     

    Router Server 架构图

    该项目所涉及的技术:

    • C++:使用C++语言实现,充分融合面向对象和泛型编程模式;
    • Boost:Boost.Asio、Boost.Thread、Boost.SmartPtr、Boost.Function、Boost.Bind、Boost.StringAlgo、Boost.Unordered、Boost.PropertyTree、Boost.Format 等类库;
    • ACE:Reactor、Acceptor-Connector、Task等Frameworks;
    • OTL:访问MySQL或Oracle数据库;
    • 数据库:Oracle或MySQL;
    • Linux Shell Script:服务器启动和守护脚本;
    • 应用层通信协议:自定义的XMMEP(X-Messenger Message Exchanging Protocol)协议。

    项目部署:

    • 操作系统:Linux 2.6.x;
    • 数据库:MySQL 5.1+ / Oracle 10g(二者选其一)。
  • 相关阅读:
    SpeedPHP多入口设置 前台和后台入口分开
    php重定向 htaccess文件的编写
    SpeedPHP关于一对一和一对多关联关系的建立 model建立
    SpringMVC与Struts2关于controller线程安全问题
    编码问题 关于hibernate jdbc数据库连接在xml配置与在properties文件配置的差异
    SpringMVC可以配置多个拦截后缀*.html和.do等
    JavaSE replaceAll 方法
    Promise.race 的原理
    Promise.all 的原理
    标签联合
  • 原文地址:https://www.cnblogs.com/lexus/p/2565868.html
Copyright © 2020-2023  润新知