12
基基 Linux 基基基基基基--Ztalk 基基基基 基基 基基07 基基基 2基 基基 基基 基基0743111229

基于 Linux 的即时通讯系统

  • Upload
    foster

  • View
    145

  • Download
    0

Embed Size (px)

DESCRIPTION

基于 Linux 的即时通讯系统. -- Ztalk. 指导老师: 梁刚 班级: 07 级软件 2 班 学生: 张伟 学号: 0743111229. 主要内容. 选题背景 系统主要功能简介 系统设计和实现. 选题背景. 来源于某实验室实际项目 原项目客户端搭载在手机上,服务端搭载在 Linux 服务器上。系统功能包括点对点聊天,群聊天,收发邮件,收发短信。 - PowerPoint PPT Presentation

Citation preview

Page 1: 基于 Linux 的即时通讯系统

基于 Linux 的即时通讯系统--Ztalk

指导老师: 梁刚班级: 07 级软件 2班学生: 张伟学号: 0743111229

Page 2: 基于 Linux 的即时通讯系统

主要内容 选题背景 系统主要功能简介 系统设计和实现

Page 3: 基于 Linux 的即时通讯系统

选题背景 来源于某实验室实际项目 原项目客户端搭载在手机上,服务端搭载在

Linux 服务器上。系统功能包括点对点聊天,群聊天,收发邮件,收发短信。 本项目将客户端移植到了 Linux 平台,去掉了短信功能。服务端基于网络开源项目

Jabberd 开发,遵循 XMPP 协议(详见RFC3920 )。

Page 4: 基于 Linux 的即时通讯系统

系统主要功能 注册 (XEP-0077: 带内注册 ) 登录 (RFC3920/3921; XEP-0054: 电子名片 ) 点对点聊天 (RFC3920/3921; XEP-0085: 聊天状态通知 ) 添加、删除好友 (RFC3920/3921) 修改密码 (RFC3920/3921) 注销账户 (RFC3920/3921) 文件传输 (XEP-0096: 文件传输; XEP-0065:

SOCKS5 字节流 ) 远程桌面 (RFB 协议 )

Page 5: 基于 Linux 的即时通讯系统

系统架构 (1/2)

server1c2s

router

sm

s2sresol ver

server2c2s

router

sm

s2s resol ver

Cl i ent1 Cl i ent2 Cl i ent3

Router: 为数据包流向判断和中转。Resolver: 解析域名,转化为可识别的 IP 地址。Sm: session manager 的简称,负责会话管理。C2s: 负责接收客户的连接,登录判断,及回显聊天信息等。S2s: 负责服务器与服务器的交互,处理不同服务器上的用户交流。

Page 6: 基于 Linux 的即时通讯系统

系统架构 (2/2)Cl i ent

界面模块

控制模块

TCp

Server1

c2s router

sm

s2s

resol ver

TCp

数据模块

远程桌面

邮件模块

Page 7: 基于 Linux 的即时通讯系统

服务端设计Server

c2s

router

sm

s2s resol ver

expatmi o Tool s&assi st

Mio :负责 TCP 连接管理。提供了 poll 和 select 两种多路复用方式Expat :来自另一个项目,负责 XML 流的解析Tools&assist :工具函数。

Page 8: 基于 Linux 的即时通讯系统

客户端设计界面模块

控制模块

数据模块

Server

远程控制

界面模块: Qt 开发, C++ 语言数据模块:将数据格式化成 XML 树的形式(QTreeWidget) 。控制模块:根据 XML 树生成状态值,根据状态值生成回复。远程控制:使用 Libvncserver 编写 VNC 服务端,使用Libvncclient 编写客户端,使用 Xlib 库控制 X11 窗口。

Page 9: 基于 Linux 的即时通讯系统

Thanks

演示

Page 10: 基于 Linux 的即时通讯系统

演示 ( 环境 )

主机 IP 为 192.168.0.101 ,服务端程序搭载在主机上。 虚拟机安装在主机上,通过桥接主机的网卡连接到路由器上,分配 IP 为 192.168.0.105 主机与虚拟机通过路由器形成了一个局域网。

Page 11: 基于 Linux 的即时通讯系统

演示

Page 12: 基于 Linux 的即时通讯系统

Thank you ! Questions?