qt 网络传输二进制视频流

wanglinyi123 2014-06-09 02:24:16
我做一个视频传输的东西,视频的采集和编码已经弄好了,编码之后的数据放在了一个unsigned char *data里,是二进制的,
我发送端的程序如下,其中data存放的是二进制数,
QByteArray block;
QDataStream out(&block,QIODevice::WriteOnly);
out<<data;
udpsocket_1->writeDatagram(block.data(),block.length(),QHostAddress::Broadcast,45555);

接受端的程序大致如下:message1是unsigned char * 数组。可是为什么messae1里什么也收不到,我发纯字符串就能收到,
有哪位大神指导一下啊,很着急啊。
while(re_udpsocket->hasPendingDatagrams())
{

QByteArray datagram;
datagram.resize(re_udpsocket->pendingDatagramSize());
re_udpsocket->readDatagram(datagram.data(),datagram.size());
QDataStream in(&datagram,QIODevice::ReadOnly);

in >> message1;

}

...全文
582 3 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
fangpeng_813 2014-08-01
  • 打赏
  • 举报
回复
楼主问题解决了吗,同问...
wanglinyi123 2014-06-09
  • 打赏
  • 举报
回复
引用 1 楼 hackenliu 的回复:
你先用wireshark抓包 看数据是否正常发出,有可能没有正常发出,那就是你的发送端有问题了,可能是缓冲太小等。
请问缓冲区太小了的话怎么改,要分包传吗,还是该block啊
KeequenLiu 2014-06-09
  • 打赏
  • 举报
回复
你先用wireshark抓包 看数据是否正常发出,有可能没有正常发出,那就是你的发送端有问题了,可能是缓冲太小等。

16,815

社区成员

发帖
与我相关
我的任务
社区描述
Qt 是一个跨平台应用程序框架。通过使用 Qt,您可以一次性开发应用程序和用户界面,然后将其部署到多个桌面和嵌入式操作系统,而无需重复编写源代码。
社区管理员
  • Qt
  • 亭台六七座
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧