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(二者选其一)。
  • 相关阅读:
    Leetcode刷题记录:构建最大数二叉树
    Leetcode刷题记录:编码并解码短网址
    Python获取数字的二进制值
    SQL文件的BOM问题导致的invalid character错误及解决
    修改服务的运行权限,解决SVN Post Commit问题
    将iPod中的音乐拷贝到Mac中
    Linux下创建可执行bin安装文件
    Mac下使用XLD转换无损音乐Ape
    Mac环境下配置Tomcat+Eclipse
    Curl操作Elasticsearch的常用方法
  • 原文地址:https://www.cnblogs.com/lexus/p/2565868.html
Copyright © 2011-2022 走看看