qt学习之路十(项目的阶段性困难)

  前几天做了一个qt的银行管理系统,做完之后还没有来得及总结,我就迫不及待的开始将聊天室做成qt版本,但是很遗憾,聊天室的改版并没有像银行管理系统那样顺利,出现了一些错误,到现在为止我还没有找到,现在我将上一个项目的总结,以及聊天室的改版需要注意的地方总结一下。

  学完c++我就开始做这个银行管理系统,当时的我完全没有接触过界面的制作,在网上到处找资料,看视频,去图书馆借书,想尽了所有的方法将qt的资料收集了很多。当时网上说qt小神童的视频很好,于是花了两个晚上去看视频,但是看完之后并没有我想要的那种功能,反而看完之后更加迷惑了,之后看到论坛里面有人推荐霍亚飞的qt creator快速入门和qt实战开发精解,于是去图书馆借了去看。当时看了模态和非模态对话框、信号与槽、多窗口切换后,我突然感觉,这个就是我想要的,于是,我尝试着用这个模态对话框将我的通讯录改版了(刚开始学很粗糙),这个时候我有了自己的想法了,知道银行系统的着手点了。想到便做,但是问题又来了,当时我准备用Windows的网络编程以及api做的,但我不知道服务器和客户端该怎么通信,两边的数据类型都不一样,于是,我又将qt的网络模块、数据库、线程(没用到)看了一下,花了一天的功夫。

  银行管理系统从头到尾都是单个服务器和单个客户端的通信,做的时候都很顺利,并没有遇到什么大的问题,这让我的自信心很足,于是做完之后,我立即开始改版聊天室。

  聊天室刚开始的时候,我并没有直接下手,而是考虑我怎么改,我并不想再把服务器在写一篇了,所以我想在保持服务器没有大改动的情况下,将客户端用qt重新写一遍,首当其冲的就是通信的问题,C语言服务器那边只能使用C语言的数据类型,所以,qt客户端那边发送接收肯定也得以C语言来准,然后,通信的数据类型在发送和接收时候都换成qt的数据类型(窗口显示)。

  刚开始的时候都挺顺的,无论是注册登录忘记密码还是退出,这四个功能都是只用到了单个客户端和单个服务器的通信,所以我都成功了,但是,在登录成功之后,之前C语言写的客户端是开辟了一个线程,专门去读服务器发来的数据,qt改的话,我是用了readyRead()这个信号来读取服务发来的数据,但是很遗憾,出现了错误。现在就是私聊的功能,一个客户端发出了数据(正确),服务器收到了数据,处理也是成功的,一切都是OK,但是另一个客户端接收信息的时候出现了问题,readyRead()被触发了,也进入了我自己写的槽函数中,但是读的时候出现了问题,每次读到的都是一堆乱码,于是我用perror(“read”)打印了一下错误原因:资源暂时不可用。

  我找了两天,想尽了各种办法,网上也是到处寻找例子,想去参考一下,但是,这方面的例子真的是少的可怜啊,找了两天还是一无进展,找到的例子都是udp进行通信的,tcp通信的例子几乎没有,我也不知道现在该怎么办,我不想做了一半放弃,我想把这个聊天室做完,但是现在这个问题卡在这边,我也是没法前行。实在无奈之下,我开始重新写服务器,重新写客户端,进行我能进行的所有测试,只能祝我好运吧,实在是不想半途而废


转载于:https://my.oschina.net/u/3433829/blog/881567

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值