Skip to content

ssswdwads/client-server

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 

Repository files navigation

工业现场远程专家支持系统

一个在VMware创建的linux环境虚拟机中,使用 Qt 开发的“客户端-服务端”示例/应用。项目包含独立的服务端与客户端组件,便于本地或局域网内进行通信功能的开发与验证。

1. 项目简介

  • 项目类型:Qt 跨平台桌面/控制台应用
  • 主要语言/框架:Qt 5.12.8(GCC 64-bit),C++11(视你的 Kit 配置)
  • 组成模块:
    • 服务端(Server):监听端口,处理来自客户端的请求
    • 客户端(Client):向服务端发起连接与请求,并展示结果
  • 实现了一个类似于腾讯会议的视频会议功能

2. 运行环境与依赖

必需:

  • 操作系统:Linux / Windows / macOS(任选其一;下文以 Linux 为例)
  • Qt 版本:Qt 5.12.8(GCC 64-bit Kit)
  • 编译器与构建工具:gcc/g++、make
  • 网络访问权限:本机端口监听与回环/局域网访问

可选:

  • OpenSSL(若涉及 TLS/SSL)
  • 其他 Qt 模块(如 QtNetwork、QtWebSockets、QtSerialPort 等)

3. 功能介绍

  1. 登陆注册界面:
  • 分为两种页面,可选择专家端或工厂端,二者的ui风格不同以作区分
  • 密码需要包含大小写字母和数字且不能有特殊符号,必须八位以上
  • 密码采用了一次性哈希加密
  1. 工单构建与接受
  • 工厂端可以创建生成工单,可以填写工单的信息与标题。创建后专家端刷新状态即可看到并选择是否接受
  • 每个工单创建时随机生成一个工单号,这个工单号对应视频会议功能的具体房间号,需要都正确填入工单号才能进行视频会议
  • 工厂端选中工单或专家端接受工单后选中,可以进入到设备管理界面查看具体的设备信息(仅做了随机数模拟和QtCharts的图表演示),并且可以实时发送设备修改信息

3)实时通讯模块

  • 进入视频会议填写正确的工单号后可以进入房间
  • 基本还原了腾讯会议所能做到的功能(但是屏幕共享功能会十分卡),可以进行视频会议,以及画笔标注
  • 右侧有聊天框,类似于微信群聊,可以发送文字,图片,文档等信息
  • 当所有人都离开房间时,服务端会自动录制并保存本次会议出现的摄像头画面,笔记标注以及屏幕共享画面,自动存放于企业知识库模块,可以在其中通过搜索房间号找到该视频

4.快速开始 使用 Qt Creator(推荐)

  1. 打开工程
  • 打开 APP 目录中的顶层工程文件(例如顶层 .pro 或 CMakeLists.txt)
  • 若 client 与 server 是独立子项目,可分别打开各自的 .pro
  1. 选择 Kit
  • Desktop Qt 5.12.8 GCC 64bit
  1. 构建与运行
  • 先构建 server 子项目并运行
  • 再构建 client 子项目并运行,连接到服务端

命令行构建(qmake 流程)

以 Linux 为例:

# 进入服务端目录,生成 Makefile 并编译
cd APP/server
mkdir -p build && cd build
qmake ..
make -j$(nproc)

# 运行服务端(示例)
./server --port 12345

# 另开终端,构建客户端
cd APP/client
mkdir -p build && cd build
qmake ..
make -j$(nproc)

# 运行客户端(示例)
./client --host 127.0.0.1 --port 12345

如使用 CMake,请将上述命令替换为标准 CMake 三部曲:

cmake -S . -B build -DCMAKE_BUILD_TYPE=Release
cmake --build build -j
./build/<executable>

---


About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published