北理工计科小学期Qt聊天室:WeTalk——基于云服务器与QML前端的多人广域网即时聊天软件

文章目录

  • 请到github仓库或者百度云下载
  • 项目概述
    • 效果
    • 架构
  • 需求分析
  • 运行环境
  • 项目设计

我们这个项目在同一届中算做的很好的了,之所以没有做到最好,是因为有两个技术点没有实现:

  1. 服务器多线程并发
  2. 文件传输

实在是没时间了,如果有后来者可以读懂我们这个项目,并且完善,相信可以拿到最好的成绩,没有之一。

请到github仓库或者百度云下载

github:WeTalk
百度云:WeTalk 提取码 cyyy

项目概述

效果

本项目旨在设计一款基于QtQuick,QML,Qt,SQLite和云服务器的支持广域网的聊天应用,为用户提供方便快捷的远程通信和自由交友,能够跨越距离的限制,能够在办公,娱乐,日常生活等多场景下使用,时刻保持信息畅通。在项目中我们主要借鉴了QQ和Wechat的相关功能进行开发。

北理工计科小学期Qt聊天室:WeTalk——基于云服务器与QML前端的多人广域网即时聊天软件_第1张图片

北理工计科小学期Qt聊天室:WeTalk——基于云服务器与QML前端的多人广域网即时聊天软件_第2张图片
北理工计科小学期Qt聊天室:WeTalk——基于云服务器与QML前端的多人广域网即时聊天软件_第3张图片
北理工计科小学期Qt聊天室:WeTalk——基于云服务器与QML前端的多人广域网即时聊天软件_第4张图片
北理工计科小学期Qt聊天室:WeTalk——基于云服务器与QML前端的多人广域网即时聊天软件_第5张图片

架构

北理工计科小学期Qt聊天室:WeTalk——基于云服务器与QML前端的多人广域网即时聊天软件_第6张图片
北理工计科小学期Qt聊天室:WeTalk——基于云服务器与QML前端的多人广域网即时聊天软件_第7张图片

北理工计科小学期Qt聊天室:WeTalk——基于云服务器与QML前端的多人广域网即时聊天软件_第8张图片

需求分析

在互联网时代,依靠电话和短信的通信手段,远远满足不了人们的需求且效率较低,成本较高,在许多场景下,需要文件和多人信息传输,此外,生活水平的日益提高,人们对于交友和娱乐的追求也随之提高,为此我们开发了WeTalk应用,支持自由交友,广域网连接,建立群聊,好友单聊,设计个人名片等能够为人们日常生活,办公提供便利的功能。

运行环境

客户端:Windows/Linux/Mac
服务端:Ubuntu 20.04 LTS

项目设计

项目分成客户端、服务器端和数据库端,其中服务器端放在公网下的云端服务器上,达到公网即时通讯的目的。项目系统的整体架构和各架构下的内容如图2-1所示,以服务器端为开发中心,连接三个部分的通讯。
开发过程采用前后端分离技术,并写好对应的接口函数和信号,最后合并时进行连接调整。这有利于我们分别独立进行开发,分工明确,开发效率高。

本人负责通信模块与架构。本团队在最开始就打算做广域网即时通信,所以一个好的架构尤为重要。

经过一天的学习,借鉴,思考,我得出了基于Udp报文+Json命令解析的服务器中转模式,其中,不同类型的命令Json报文中,其command参数都不同,对应不同的函数调用。

除此之外,本团队使用QML技术作为前端,这加大了通讯的难度,我除了客户端与服务端的通信以外,还负责QML的前后端通信,以及中后期的项目整合。经过实践,本团队成功实现了注册,登录,以及各种功能,并且成功在云服务器上部署,运行,即使大家处在天南海北,也能实现多人聊天。

你可能感兴趣的:(bit小学期,计算机体系结构,qt,服务器,开发语言)