社区
C++ 语言
帖子详情
Qt中用QTcpSocket怎么直接和显示 服务器发送的图片二进制流
zhangli0911
2011-08-15 04:35:05
如题
各位大侠们,由于对QT不熟悉,所以请大侠们多多指教
我现在服务端是C# ,发送了图片 转换为二进制流,已字节的形式发送,
qt这边接收后 是不是也要将流读成图片格式啊,最后图片将如何显示界面
...全文
646
20
打赏
收藏
Qt中用QTcpSocket怎么直接和显示 服务器发送的图片二进制流
如题 各位大侠们,由于对QT不熟悉,所以请大侠们多多指教 我现在服务端是C# ,发送了图片 转换为二进制流,已字节的形式发送, qt这边接收后 是不是也要将流读成图片格式啊,最后图片将如何显示界面
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
20 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
AI-
2013-08-28
打赏
举报
回复
各位 能不能给个客户端、服务器简单的图片传送接受程序、qt 的。
bigPillow
2013-01-29
打赏
举报
回复
学习了。。。。
alapingping
2012-07-18
打赏
举报
回复
可以的、、下载软件UltraEdit,可以二进制的形式打开文件。
caobin258
2012-06-30
打赏
举报
回复
有没有方法读取图片的二进制数据。并保存啊
鼠
2011-08-18
打赏
举报
回复
[Quote=引用 15 楼 zhangli0911 的回复:]
那你的意思就是说先发送 总长度 告诉客户端 我传的数据是这么长,然后客户端在请求服务端发送另外的数据吗?
现在服务端(C#)要一起发送文字,图片,视频,都转换为二进制流,请问有好的方式或者协议来标记是图片,文字,视频吗。而且客户端解析的时候根据标记来区分哪些是文字,哪些是图片,哪些是视频。
[/Quote]
一个比较挫但是至少能用的办法,简单的单向传输应该够用了……
MIME 类型名<LF>
长度<LF>
二进制数据
zhangli0911
2011-08-18
打赏
举报
回复
[Quote=引用 14 楼 hpsmouse 的回复:]
引用 12 楼 zhangli0911 的回复:
我刚考虑要拼起来的,但是我想知道如何判断数据全部接收完!
TCP 的数据流在连接关闭之前是永远也不会完的。所以要么双方都事先知道数据有多长,传输了这么多数据以后就收工;要么一个连接只发送一份数据,看到 TCP 连接关闭了就知道数据结束了。
[/Quote]
那你的意思就是说先发送 总长度 告诉客户端 我传的数据是这么长,然后客户端在请求服务端发送另外的数据吗?
现在服务端(C#)要一起发送文字,图片,视频,都转换为二进制流,请问有好的方式或者协议来标记是图片,文字,视频吗。而且客户端解析的时候根据标记来区分哪些是文字,哪些是图片,哪些是视频。
鼠
2011-08-18
打赏
举报
回复
[Quote=引用 12 楼 zhangli0911 的回复:]
我刚考虑要拼起来的,但是我想知道如何判断数据全部接收完!
[/Quote]
TCP 的数据流在连接关闭之前是永远也不会完的。所以要么双方都事先知道数据有多长,传输了这么多数据以后就收工;要么一个连接只发送一份数据,看到 TCP 连接关闭了就知道数据结束了。
AlanBruce
2011-08-18
打赏
举报
回复
Mark!
zhangli0911
2011-08-16
打赏
举报
回复
[Quote=引用 7 楼 gykgod 的回复:]
可能是您的BUFFER太小
[/Quote]
比如说我服务端发送的是15000个字节,我QT读的时候 qDebug() 输出的是8000 7000 这样,分几段,我是不是要循环的去读取
jingavin0
2011-08-16
打赏
举报
回复
QT中的图片也和你给的QT设备有关系的吧
gykgod
2011-08-16
打赏
举报
回复
可能是您的BUFFER太小
zhangli0911
2011-08-16
打赏
举报
回复
为什么比较小的图片可以发送完成,比较大的图片接收不完整
zhangli0911
2011-08-16
打赏
举报
回复
谢谢 gykgod 提供的代码,很有用,还有yby4769250的思路,, 但是现在客户端接收二进制流写到图片文件里 ,图片是花屏的状态,有些看的清楚,有些看不清楚,像这种情况你们遇到过吗?
zhangli0911
2011-08-16
打赏
举报
回复
[Quote=引用 11 楼 gykgod 的回复:]
全部弄完拼接起来,有带宽限制的 不可能一下子发送完毕吧
所谓细水长流~
哎呀 洒家又扯淡了。
[/Quote]
我刚考虑要拼起来的,但是我想知道如何判断数据全部接收完!
gykgod 你QQ 多少 我加你把,麻烦你了!
gykgod
2011-08-16
打赏
举报
回复
全部弄完拼接起来,有带宽限制的 不可能一下子发送完毕吧
所谓细水长流~
哎呀 洒家又扯淡了。
zhangli0911
2011-08-16
打赏
举报
回复
我发送有点大的图片 为什么 connect(tcpSocket,SIGNAL(readyRead()),this,SLOT(readMessage())); 会执行几次,然后都是分几段的读取的
yby4769250
2011-08-15
打赏
举报
回复
流就是流,就是一串0101的数据,你传递的,就是这样的数据,不要把它理解成图片或者声音或者视频,它仅仅是01而已,关键点是,当你把这些01读到客户端的一个buffer中后(一楼的应该用unsigned char buffer[]吧),如何保存这些数据,你把这些数据写进一个jpeg文件,它就是一张图片,你把它写进一个.txt文件,它就是一堆乱码
至善者善之敌
2011-08-15
打赏
举报
回复
只要严格按照发送协议和图片标准格式重新组合就可以了
zhangli0911
2011-08-15
打赏
举报
回复
gykgod
可以讲下你发的代码意思吗
gykgod
2011-08-15
打赏
举报
回复
假设你的二进制流放在char buffer[]里
FILE *fp;
fp = fopen("test.jpeg", "wb");
if(fp != NULL)
{
size_t ret = fwrite(buffer, sizeof(char), size, fp);
fclose(fp);
}
通俗易懂玩
QT
:QUdp
Socket
学习
QT
之QUdp
Socket
学习 最近,因为公司的项目要求,需要用到
socket
的 udp 通信协议,特意学习了一下,这里分享给大家。 一、
QT
的
socket
家族 这里首先给大家介绍一下
QT
的
socket
家族,结构图大致如下图所示: 最主要的是 QAbstract
Socket
类,它是 QUdp
Socket
和
QT
cp
Socket
的父类,
QT
cp
Socket
类又包含了两个子类 QSctp
Socket
和 QSsl
Socket
。 二、QUdp
Socket
的使用 以下为使用步骤:
【
QT
教程】
QT
6 Web开发入门
QT
6_Web开发简介
QT
6 Web 开发简介
QT
6 是
Qt
Company 发布的最新稳定版本,它在性能、安全性、跨平台支持等方面都有显著的改进。
QT
6 Web 开发是构建基于 Web 技术的应用程序的一种方式,它允许开发人员利用
Qt
的强大功能和 Web 技术的广泛应用,来创建丰富的交互式用户界面。
QT
6 Web 模块在
QT
6 中,Web 模块是构建 Web 应用程序的核心。
计算机网络之传输层协议T
CP
分析
计算机网络中应用层是我们用
Cp
p或者其他开发语言写的网络程序或者脚本。 当应用层数据传送之后,比如当我们在
Qt
程序
中用
QT
cp
Socket
对象write之后,此时,传输层会将用户即将发的内容进行分块打包操作. T
CP
头部报文报分析 下面我们看传输层中的一种协议(T
CP
)的头部内容: 从上图可以看出,T
CP
报文段首部格式包含20个字节的固定长度和40个字节可变长度。 源端口(2个字节,范围:0-65535): 发送端的端口号 目的端口(2个字节,范围:0-65535): 接收端的端口号 序号(四个字节seq
QT
入门看这一篇就够了——超详细讲解(40000多字详细讲解,涵盖
qt
大量知识)
QT
入门看这一篇就够了——超详细讲解(仔细看,不会可以私信我,看到就回)
qt
文件系统操作和文件读写
Qt
中进行文件读写的基本的类是 QFile。QFile 的父类是 QFileDevice,QFileDevice 提供了文件交互操作的底层功能。QFileDevice 的父类是 QIODevice,它有两个父类:QObject 和 QIODeviceBase。
C++ 语言
64,648
社区成员
250,476
社区内容
发帖
与我相关
我的任务
C++ 语言
C++ 语言相关问题讨论,技术干货分享,前沿动态等
复制链接
扫一扫
分享
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
请不要发布与C++技术无关的贴子
请不要发布与技术无关的招聘、广告的帖子
请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下
试试用AI创作助手写篇文章吧
+ 用AI写文章