Skip to content

ZHJ0125/FIFO_ChatRoom

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

37 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

FIFO_ChatRoom

Linux 使用命名管道实现聊天室功能

✔ 建议您首先前往本项目的说明文档页面,查看详细的项目说明

根目录文件说明

文件(夹)名称 用途
.vscode 我的VSCode配置信息
Data 用于存放项目资料,包括图片和日志文件
MkDocs 用于存放说明文档网页的源代码
Project 用于存放项目源代码
LICENSE 项目开源许可证
README.md 项目自述文件

程序功能说明

  • 实现了多客户端的群聊功能
  • 实现了客户端双方的私聊功能
  • 私聊对象通过客户端的用户名进行标识
  • 完善了客户端和服务器的退出方式
  • 正在尝试使用QT编写程序的UI界面

编译和测试说明

  • 使用 git 克隆本项目
  • 使用 make 实现客户端和服务器的编译
  • server 是服务器程序
  • client 是客户端程序
  • 客户端默认为群发模式
  • 客户端的私聊格式为 to: [Target_Client_Name] [Message_To_Be_Sent]

程序编译示例

!以下示例仅供参考,具体请看说明文档相关章节以及演示视频

zhj@thinkpad-vmware:~/FIFO_ChatRoom/Project$ ls
client.c  fifo.c  fifo.h  Makefile  server.c
zhj@thinkpad-vmware:~/FIFO_ChatRoom/Project$ make
cc    -c -o client.o client.c
cc    -c -o fifo.o fifo.c
cc    -c -o server.o server.c
rm ./*.o
zhj@thinkpad-vmware:~/FIFO_ChatRoom/Project$ ls
client  client.c  fifo.c  fifo.h  Makefile  server  server.c

效果展示

目前已录制了两个视频,分别是Linux_命名管道_聊天室_测试视频Linux_命名管道_聊天室_测试视频_V2.0

V2.0效果展示截图

项目日志

详细内容请看:LOG

展开查看

Day0

  • 具体内容请看: Day0.md
  • 编写项目需求、可行性分析和技术分析
  • 上传命名管道的基础代码 -> 基础代码来自 Embedded_Linux仓库

Day1

  • 具体内容请看: Day1.md
  • 客户端之间的群聊功能已经实现
  • 客户端之间的私聊功能已经实现

Day2

  • 具体内容请看: Day2.md
  • 实现了使用用户名作为标识的私聊功能
  • 优化了客户端显示的内容
  • 录制了测试视频并投稿至B站

Day3

Day4

  • 具体内容请看: Day4.md
  • NULL

Day5

  • 具体内容请看: Day5.md
  • 安装 Qt for Linux
  • 发现关于QT的严重问题

Day6

  • 具体内容请看: Day6.md
  • 修复退出程序的bug
  • 实现了在某个客户端退出后,服务器向其他用户发送通知的功能
  • 将新版本内容录制为测试视频并投稿至B站

Day7--Day11 (2020/04/15--2020/04/19)

  • Do Nothing

Day12 (2020/04/20)

Day13 (2020/04/21)

  • 将说明文档框架,由docsify转为MkDocs

2021-11-12

程序代码

源代码遵循 GNU General Public License v3.0 开源许可协议