Final Project X-Messenger servers

Source: Internet
Author: User

Final Project X-Messenger servers

Final project X-Messenger servers  

X-Messenger is an instant messaging tool launched by xuanyuan high-end it training center. It supports text chat, file transmission, friend management, and other instant messaging functions. As one of the final projects of the Linux C ++ series courses, the objective is to train students in C ++ basics, C ++ standard libraries, boost class libraries, or ace (either of them) master the degree of database development, and fully understand the Design and Implementation routines of High-throughput and Low-latency high-performance server applications, as well as the formulation and implementation of application layer communication protocols through the implementation of this project.

Functions implemented on the server:
    • Instant Message: supports instant messages and offline messages (in which instant messages are implemented in P2P mode );
    • File Transfer: Implemented in P2P mode;
    • Friend management: add, delete, and modify friends. add, delete, and modify friend groups;
    • User status management: notifications of online and offline user status changes.
Server Architecture:

The X-Messenger Server group consists of multiple groups of servers with different functions. Each group of servers undertakes their respective tasks. The following figure shows the network topology and server architecture of the X-Messenger Server:

X-Messenger Server network topology

 

Router Server Architecture

Technologies involved in this project:
    • C ++: Implemented in the C ++ language, fully integrating the object-oriented and generic programming modes;
    • Boost: boost. ASIO, boost. Thread, boost. smartptr, boost. function, boost. Bind, boost. stringalgo, boost. unordered, boost. propertytree, boost. format, and other class libraries;
    • ACE: reactor, acceptor-connector, task, and other frameworks;
    • OTL: Access MySQL or Oracle databases;
    • Database: Oracle or MySQL;
    • Linux Shell script: server startup and daemon scripts;
    • Application layer communication protocol: Custom xmmep (X-Messenger message exchanging protocol) protocol.
Project deployment:
    • Operating System: Linux 2.6.x;
    • Database: MySQL 5.1 +/Oracle 10 GB (either ).

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.