永发信息网

QT 网络编程中 关于readAll()读取缓存中数据的时间间隔问题

答案:2  悬赏:10  手机版
解决时间 2021-03-09 15:02
  • 提问者网友:杀手的诗
  • 2021-03-09 10:04
我想实现局域网视频传输功能,客户端通过调用摄像头将每一帧画面传送到服务器端,服务器端将获致的画面显示出来,客户端是在Linux系统上,服务器端是在Windows系统上。在客户端中我的QSocket类对象调用write()发送数据流,服务器端readyread()信号关联的槽函数中用readAll()来读取缓冲区中的数据流,但是在读取数据的时候,我发现每一次读取数据后会有几毫秒的延时才会继续读取后来的数据,并且缓冲区每次也只有3472个字节的数据可读取,我的每帧画面大概有300多K,所以正因为这种延时我在客户端发送每帧画面的频率不能过快,大概只能一秒一帧才会正常显示画面。这个问题困扰我很长时间了,我应该怎样处理这种问题???????
the time is QDateTime(2017-08-28 19:03:32.332 中国标准时间
tcpsocket->bytesAvailable() 3472
the time is QDateTime(2017-08-28 19:03:32.395 中国标准时间
tcpsocket->bytesAvailable() 3472
the time is QDateTime(2017-08-28 19:03:32.416 中国标准时间

我已经解决了,我的图像没有压缩。
最佳答案
  • 五星知识达人网友:鸠书
  • 2021-03-09 10:35
QFilefile("text.txt");if(!file.open(QIODevice::ReadOnly)){qDebug("cannotopen!");return;}else{QTextStreamin(&file);QStringtext=in.readAll();ui->textEdit->setText(text);}这只是个简单的测试程序,要是实际使用还要考虑很多情况!
全部回答
  • 1楼网友:低音帝王
  • 2021-03-09 11:00
我。。知。。道 加。。我。。私。。聊
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯