最终项目 XMessenger Client

最终项目 X-Messenger Client

最终项目 X-Messenger Client

X-Messenger Client是轩辕高端IT培训中心推出的支持多协议(包括XMMEP)、多帐户、多会话的现代即时通信客户端,作为一个新的实战项目,X-Messenger Client旨在锻炼学员对网络、多线程、数据库以及Linux API的运用、对软件架构的认识。

X-Messenger Client


X-Messenger
Client的关键特性:

  • 支持多协议,不论是轩辕高端IT培训中心自定义的XMMEP消息协议,还是Jabber/XMPP、MSN、QQ、ICQ、AIM等其它协议,都可在X-Messenger Client下实现;
  • 支持多帐户、多会话,同QQ和MSN等IM Client不同,X-Messenger支持在同一个客户端进程中支持多个不同协议的帐户,如X-Messenger帐户、MSN账户;也可以是同一个协议下的多个帐户,如同时使用两个不同的X-Messenger帐户;
  • 基于局域网的P2P文字聊天、群聊、文件共享、文件传输;
  • 支持XMMEP协议下的P2P文字聊天、群聊、离线消息、文件传输;
  • 好友管理,聊天室/群管理;
  • 优秀的架构和设计,清晰的模块划分,将UI与后台、模块与模块之间的耦合降到最低。

涉及技术:

  • C++:使用C++语言实现,充分融合面向对象和泛型编程;
  • UI:gtkmm-2.4;
  • 网络I/O:Boost.Asio、ACE、Linux Socket + Epoll三种方案之一;
  • 并发:Boost.Thread、ACE、Linux Pthread三种方案之一;
  • 客户端数据持久化:sqlite3;
  • 声音组件:GStreamer-0.10;
  • 以及其它一些技术。

屏幕截图:

以下为X-Messenger-0.2.10的屏幕截图:

Main Window with Tooltips

X-Messenger 主窗口

(Buddy和Group、Chatroom的Tooltips不同)

 

Chat Window

Chat Window - Smileys

Chat Window - Picture

X-Messenger 聊天窗口

(支持互联网/局域网 P2P一对一文字聊天、P2P群聊)

 

Add Files

X-Messenger 文件提交窗口

(可为各个文件设置不同的下载密码,或批量设置相同的下载密码)

 

Shared Files

X-Messenger 共享文件列表

(第四列标示:是否为本地文件(即由“我”提交共享)还是由其它用户提交共享的远程文件;第五列标示:是否需要下载密码)

 

File Transfers

X-Messenger 文件传输管理

(支持取消正在进行的文件传输)

原文地址:https://www.cnblogs.com/lexus/p/2565872.html