zoukankan      html  css  js  c++  java
  • 最终项目 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(二者选其一)。
  • 相关阅读:
    Control Group(CGroup)资源限制组
    系统安全之用户认证
    如何在Linux中禁用和挂起休眠
    ubuntu18 virtualbox启动失败Kernel driver not installed (rc=-1908)
    C# Winform 多线程更新界面UI控件,解决界面卡顿问题(转)
    【573】LaTeX相关技巧
    程序计时函数
    王炸!!Spring 终于对 JVM 动手了…
    ThreadLocalRandom 是线程安全的吗?
    Spring Boot 应用可视化监控,一目了然!
  • 原文地址:https://www.cnblogs.com/lexus/p/2565868.html
Copyright © 2011-2022 走看看