Home » 未分类 » 采用Qt 实现简单的客户端

采用Qt 实现简单的客户端

之前已经实现了基本的服务器端的架构,并且通过浏览器我们已经可以看见实时的视屏画面了,现在要做的是,把视屏画面显示在自己编写的一个客户端上面,而不是一直使用浏览器查看。
环境:acer 4752G ubuntu 12.04
工具:vi Qt 4.7

这里首先需要解决一个非常关键的问题:
当我们的服务器段,通过摄像头采集到了数据之后,我们把它经过编码之后形成的是一张一张的图片帧,然后发往浏览器,这时我们采用的http协议,发往浏览器,然后浏览器可以解析我们的http协议,去掉基本的数据封装的头部和尾部,但是现在我们使用的是自己编写的客户端,这样的话我们就必须得自己接写服务器端发来的数据,自己去除数据帧的帧头,以及我们在服务器端发出的一帧数据的开始和结尾除,自己删除多余的信息,然后去除相应的图片,绘制到我们的客户端截面。

当然,如果当当是为了实现一个自己写的客户端可以接收数据的话,我们完全可以自己定义协议,然后封装数据发往客户端,客户端做相应的解析即可。

这里呢,我测试的是使用http协议,

首先发送的是一个http头部 [HEADER]…..\r\n\r\n… \n\n..[data]\r\n
\n\n..[data]\r\n
\n\n..[data]\r\n
这是我们发出的每一针的数据的封装格式,
然后我们在解析的时候就是要
第一步:删除http报头
第二部:判断是否有一个数据结束的标记已经之后还附加的多余的数据 \r\n–
第三部:当等待有一帧完整的数据后,我们就从数据帧的结尾处开始取数据,区到开头,然后吧取到的数据发送给绘制函数。update()我们的屏幕。绘制完之后,删除现有的数据,准备接收下一帧的数据

解析过程是最终要的。!!

一下是完整的实现代码:

接下来是具体的实现每个函数和信号之间的关联

提醒一点,资源文件自己去找,然后项目文件什么的,记得加network模块,否则编译会报错。

以上便是初学测试的代码。话说有点坑跌,。将就下吧。觉得不好的就请猛拍砖就好。

This entry was posted in 未分类. Bookmark the permalink.