基于linux聊天系统
来源:互联网 发布:淘宝打折软件在哪里 编辑:程序博客网 时间:2024/06/05 07:05
一、整体介绍
(1)client模块:畅聊系统client上层逻辑,提供client底层通信
(2)server模块:畅聊系统server上层逻辑,提供server底层通信service_com模块:
(3)畅聊系统底层公共逻辑,如数据序列化。
(4)window模块:client窗口模块
(5)lib第三方库模块:提供第三方库模块
(6)plug插件起停服务脚本模块:起停服务脚本
二、详细解析
(1)client模块 && server模块
基于UDP协议,完成基本的数据报发送,该模块统⼀一发送string,不对数据进⾏行任何解释。具体数据报的字段解析,由上层完成。
(2)service_com模块
基于jsoncpp,提供基本数据序列化和反序列化功能,以及提供各种server和client公共部分模块。
(3)window模块
基于ncurse/ncursew, 提供client窗⼜⼝口功能,
三、使⽤用的开源/系统库
1. jsoncpp:基于C++编写的json库,提供数据的序列化和反序列化功能
2. ncurse/ncursew:可以使应⽤用程序直接控制终端屏幕显⽰示的库,本项⽬目中,该库为我们提供基本的窗⼜⼝口界⾯面。
3. pthread:Linux系统下的多线程遵循POSIX线程接⼜⼝口,称为pthread,本项⽬目中,我们使⽤用该库提供基本的线程控制功能。
四、项目的整体结构
五、运行结果:
一、首先启动./build.sh来进行make
二、启动Server端(cd /output/server)
此处ctrl_server.sh是一个控制脚本,可以控制服务器开启。
三、启动Client端(cd /output/client)
此时页面显示如下(ncurse库实现):
依照提示自行输入nick_name和school
而后输入聊天信息如下图:
此程序的缺陷是只能实现一个用户显示全局消息,其余只能参与聊天,不能实现两个用户直接的单独聊天
此布局中上部分是header信息,显示欢迎消息,中间左侧是输出区域,右侧是好友列表(采用了分页进制),最下面是输入区域。
0 0
- 基于linux聊天系统
- 基于局域网的聊天系统
- 基于TCP的聊天系统
- 基于WebSocket的聊天系统
- 基于QT的网络聊天系统
- 基于Web在线聊天系统初步构想。
- 基于C++的局域网聊天系统客户
- 基于websocket+java聊天系统的实现
- 基于QT的网络聊天系统
- 基于套接字的网络聊天系统
- 基于局域网的聊天系统-文档
- 基于webSocket的多人聊天系统
- Android:基于局域网的聊天系统
- 基于JavaSE的在线聊天系统
- 基于Android的WiFi聊天系统
- LSD基于TCP的聊天系统
- 基于Linux和Qt的聊天软件
- linux下基于socket的聊天软件
- python核心编程学习笔记-2016-08-21-04-SocketServer模块
- 排序算法之归并排序
- 进程中的通信
- Java 性能测试 - 使用jdk自带的jvisualvm
- Spring的bean的作用域
- 基于linux聊天系统
- Q52:构建乘积数组
- POJ1915
- java类加载器
- SpringMVC 中对应的REST的四种请求方式
- 多元分类SVM(多类别SVM)程序使用说明
- Jenkins——应用篇——如何解决execute shell中启动的进程被在Job退出时被杀死问题
- 【BZOJ1758】重建计划,点分治+单调队列
- MATLAB学习笔记05——无约束一维极值问题(二)斐波那契法、基本牛顿法和全局牛顿法