要想一步到位编写一个完美的软件对于99.999%的人来说是不可能的。
我们需要从最简单的demo做起。
我们先去qt官网下载一个免费的qt开发工具。
随后去微软的Visual Studio官网下载一个免费的Visual Studio 2022.
处理完开发环境的问题之后,再按照chatGPT或者百度谷歌的某些指引,解决掉兼容性和编译环境配置的一些杂七杂八的问题。
我们按照模版生成一个qt界面项目,运行,运行结果如下:
一个空白的窗口软件,这个界面实际上就是用下面这个ui文件管理的:
这个.ui文件的格式是一种被叫做“标记式语言”的格式。我们可以花时间去学习这种语言的语法,然后编写这个文件。
但为了开发效率,我们还是用qt自带的qtCreator工具来写ui文件吧。
qtcreator工具是下载qt的时候就有的,我们打开项目找到我们的.ui文件,打开就能看到我们运行时候的ui了:
我们往里面加上一个文本框(显示聊天记录),编辑列(编辑消息),按钮(发送消息)。
我们常用的布局是将按钮和编辑列放在同一排,因此我们加入一个widget将编辑列和按钮组织起来,最终就是这样:
我们将我们编辑的界面保存,这时候如果查看我们的.ui文件的话,会发现对应文件已经被qtCreator写上了很多标记语言的代码了:
我们编译运行,可以看到我们的界面编辑的界面一致,且可以在编辑栏输入文本:
我们将这个界面和功能完成一下:
1.按钮命名为发送,且按钮点击下去之后,编辑栏文本清空,显示栏会显示聊天记录。
2.显示栏设置为只读。
下面是代码和效果:
这样,我们就能在编辑栏编辑文本并发送到显示栏了。
当然,像QQ这样的在线通讯工具,我们的消息是要发送到远端,其他人那儿的。
我们需要开始网络通信方面的编程了。
现实世界的商业服务器一般是Linux环境,我买不起现实世界的服务器,但我们可以弄一个虚拟环境来验证我们的代码。
用得比较多的是虚拟机,我们可以下载一个vmware workstation来设置虚拟机和虚拟环境。
照着gpt和网络上其他指导下载软件,配置一下环境:
我们还需要在网上找找安装Linux操作系统的光盘,把操作系统安装上去并运行,最终打开Linux的命令行是这个状态:
我们写个写个helloworld试试吧:
编译运行:
环境没什么问题,我们写个能接收消息,并返回消息的基础服务器吧:
这段代码在做的事情就是在开启一个socket(网络类的一个概念),设置好端口,一块字节内存保存消息和其他一些基础设置,然后监听外界往这个socket里发过来的消息。收到之后就打印出来。
我们在客户端上写个发送消息的函数,并绑定按钮发送消息:
调试过程中好像出现了编译器版本和字符集的一些问题,我要睡觉了,这个demo看来要之后有空再来补完整了。
软件工程师遇到的问题中,开发环境配置和开发工具的选择是几乎一定要面对的。也是我个人认为最劝退新人的地方。需要一定的耐心。
关于在线聊天服务器,基本上的架构就是:
服务器软件一直运行着不停机,处理着来自客户端交互产生的信息,分发客户端请求的信息。核心在于处理数据。
客户端软件随着每个用户开开停停,有着精美的界面和较少的逻辑处理,交互,核心在于界面和展示。
本文暂时没有评论,来添加一个吧(●'◡'●)