Qt中用QTcpSocket如何直接和显示 服务器发送的图片二进制流
1个回答
展开全部
各位大侠们,由于对QT不熟悉,所以请大侠们多多指教
我现在服务端是C# ,发送了图片 转换为二进制流,已字节的形式发送,
------解决方案--------------------------------------------------------
假设你的二进制流放在char buffer[]里FILE *fp;fp = fopen(test.jpeg, wb);
if(fp != NULL){size_t ret = fwrite(buffer, sizeof(char), size, fp);
fclose(fp);}
------解决方案--------------------------------------------------------
只要严格按照发送协议和图片标准格式重新组合就可以了
------解决方案--------------------------------------------------------
流就是流,就是一串0101的数据,你传递的,就是这样的数据,不要把它理解成图片或者声音或者视频,它仅仅是01而已,关键点是,当你把这些01读到客户端的一个buffer中后(一楼的应该用unsigned char buffer[]吧),如何保存这些数据,你把这些数据写进一个jpeg文件,它就是一张图片,你把它写进一个.txt文件,它就是一堆乱码
------解决方案--------------------------------------------------------
可能是您的BUFFER太小
------解决方案--------------------------------------------------------
QT中的图片也和你给的QT设备有关系的吧
------解决方案--------------------------------------------------------
全部弄完拼接起来,有带宽限制的 不可能一下子发送完毕吧
所谓细水长流~
哎呀 洒家又扯淡了。
我现在服务端是C# ,发送了图片 转换为二进制流,已字节的形式发送,
------解决方案--------------------------------------------------------
假设你的二进制流放在char buffer[]里FILE *fp;fp = fopen(test.jpeg, wb);
if(fp != NULL){size_t ret = fwrite(buffer, sizeof(char), size, fp);
fclose(fp);}
------解决方案--------------------------------------------------------
只要严格按照发送协议和图片标准格式重新组合就可以了
------解决方案--------------------------------------------------------
流就是流,就是一串0101的数据,你传递的,就是这样的数据,不要把它理解成图片或者声音或者视频,它仅仅是01而已,关键点是,当你把这些01读到客户端的一个buffer中后(一楼的应该用unsigned char buffer[]吧),如何保存这些数据,你把这些数据写进一个jpeg文件,它就是一张图片,你把它写进一个.txt文件,它就是一堆乱码
------解决方案--------------------------------------------------------
可能是您的BUFFER太小
------解决方案--------------------------------------------------------
QT中的图片也和你给的QT设备有关系的吧
------解决方案--------------------------------------------------------
全部弄完拼接起来,有带宽限制的 不可能一下子发送完毕吧
所谓细水长流~
哎呀 洒家又扯淡了。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询