qq_25369215 2017-08-28 11:44 采纳率: 0%
浏览 4416

QT socket接收端每一次接收缓冲区数据的延时问题。

我想实现局域网视频传输功能,客户端通过调用摄像头将每一帧画面传送到服务器端,服务器端将获致的画面显示出来,客户端是在Linux系统上,服务器端是在Windows系统上。在客户端中我的QSocket类对象调用write()发送数据流,服务器端readyread()信号关联的槽函数中用readAll()来读取缓冲区中的数据流,但是在读取数据的时候,我发现每一次读取数据后会有几毫秒的延时才会继续读取后来的数据,并且缓冲区每次也只有3472个字节的数据可读取,我的每帧画面大概有300多K,所以正因为这种延时我在客户端发送每帧画面的频率不能过快,大概只能一秒一帧才会正常显示画面。这个问题困扰我很长时间了,我应该怎样处理这种问题???????

补充,从windows上发送数据给Linux不会有上述问题,视频很流畅。

  • 写回答

2条回答 默认 最新

  • jklinux 2017-08-31 01:56
    关注

    要提速可以把视频数据编码压缩过后再发,同时设置socket的bufferSize为大点

    评论

报告相同问题?

悬赏问题

  • ¥20 sub地址DHCP问题
  • ¥15 delta降尺度计算的一些细节,有偿
  • ¥15 Arduino红外遥控代码有问题
  • ¥15 数值计算离散正交多项式
  • ¥30 数值计算均差系数编程
  • ¥15 redis-full-check比较 两个集群的数据出错
  • ¥15 Matlab编程问题
  • ¥15 训练的多模态特征融合模型准确度很低怎么办
  • ¥15 kylin启动报错log4j类冲突
  • ¥15 超声波模块测距控制点灯,灯的闪烁很不稳定,经过调试发现测的距离偏大