Linux下基于C++语言开发的即时通信软件毕业设计

2026/4/26 3:55:01

图3-1 服务器功能示意图

3.3.2 客户端端功能模块划分

客户端主要负责处理用户的操作信息,当用户做出相应的动作时客户端应该能够及时地做出相应,当GTK图形程序检测到鼠标点击时,将触发一个事件,对该事件进行动作的定义和函数的编写便可完成相应的动作。因此,针对这些操作特性,将客户端模块进行如下划分:

登陆功能模块:建立与服务器的连接并登陆,能显示登陆错误信息。 界面显示模块:将在线好友显示在好友列表中,并显示其当前状态。 聊天功能模块:处理各种聊天信息,并判断消息类型。 离线消息模块:接收和发送离线消息,对离线消息进行处理。 配置信息模块:提供基本的软件配置操作。 客户端功能示意图:

客户端 登陆到服务器 配 置信息模块 离 线消息模块 聊 天功能模块 界 面显示模块

图3-2 客户端功能示意图

11

3.3.3 消息标识定义

消息头,包含发送者,信息内容,接受者,发送时间 struct message {

string sender; string mes; string receiver; string time; }

用户信息,包含姓名,密码,头像 struct userinfo {

string name; string pwd; string picpath; }

好友列表 sequence < string > frilist 消息队列

sequence < message > messagelist 用户-用户信息

dictionary < string, userinfo > userinfolist 用户-好友列表

dictionary < string, frilist > userfri 离线消息

sequence < message > offlinemessage 在线用户 sequence < string > liveuser

12

3.3.4 服务器接口函数

在slice语言中,定于服务器接口funcpp,该接口提供以下操作: 登入系统

int Logins (string name, string pwd); 注册用户

int Regists (string name, string pwd, string picpath); 获取用户名

int Getusername (string name); 获取用户头像

string Getfripic(string name); 获取好友列表

frilist Retfrilist(string name); 添加好友

int Addfriend(string name,string friname); 删除好友

int Delfriend(string name,string friname); 将用户信息写入文件 int Writeofflinemesfile(); 读取文件中用户信息

offlinemessage Readofflinemesfile(); 发送消息

int Sendmessage(string recverrname,string sendername,string message,string sendtime); 发送离线消息

int Sendofflinemes(string recvername,string sendername,string message,string sendtime);

获取消息

message Getmessage(string recvername,string sendername);

13

获取是否在线 int Getstat(string name);

获取消息数量 int Getmessagenum(); 获取系统消息数量 int Getsysnum(); 获取系统消息

message Getsysmessage(string recvername); 获取当前时间

char* currenttime(char* curtime, const char* format); 添加日志 void writelog(string s); 用户在线 int Loginser(string name); 离线用户 int Logoutser(string name);

14


Linux下基于C++语言开发的即时通信软件毕业设计.doc 将本文的Word文档下载到电脑
搜索更多关于: Linux下基于C++语言开发的即时通信软件毕业设计 的文档
相关推荐
相关阅读
× 游客快捷下载通道(下载后可以自由复制和排版)

下载本文档需要支付 10

支付方式:

开通VIP包月会员 特价:29元/月

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:xuecool-com QQ:370150219