『壹』 QT 使用TCP进行数据传输问题,tcp只能通过数据流形式传数据吗不能传输自定义struct类型吗

可以的,你自己定好协议,转好网络字节序,然后传送不就可以了。

『贰』 QT中用TCP发送文件时界面卡死,只有等文件发送完成才恢复正常,怎么解决

是不是你发送的文件比较大,此时loading比较大,导致了QT 出于停止响应的状态~

你可以打开设备工作管理员,看看你在传输文件的时候,CPU和RAM的loading是不是比较大~

『叁』 QtTCP通信怎么把值发送到spin box中去

1、首先你需复要通过tcpSocket把服务端的制消息接收下来
QString strValue = tcpclient->readAll();
2、然后你需要把这个QString值转换成int,
int value = strValue.toInt();
3、给QSpinBox赋值即可

spinBox->setValue(value);

『肆』 Qt中用QTcpSocket如何直接和显示 服务器发送的图片二进制流

各位大侠们,由于对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设备有关系的吧
------解决方案--------------------------------------------------------
全部弄完拼接起来,有带宽限制的 不可能一下子发送完毕吧
所谓细水长流~
哎呀 洒家又扯淡了。

『伍』 qt 使用tcp发送数据

很简单的,看看Qt的帮助文档就理解了:

1、在*.pro文件中加回入network模块 QT+= network

2、在你的*.h里面添加 QTcpSocket

3、连接服务器地址和答端口号tcpSocket->connectToHost("192.168.1.1", 8000);

4、监听连接成功的信号 SGINAL-->connected()

5、给socket填写你想发送的数据,封装成QByteArray

//发送字符串
QByteArraydataSend="Haveatry!";
tcpSocket->write(dataSend);
//发送16进制数据
dataSend.clear();
dataSend[0]=0xa5;
dataSend[1]=0x5a;
dataSend[2]=0xa5;
dataSend[3]=0x5a;
//写入socket即可
tcpSocket->write(dataSend);