• 5550阅读
  • 9回复

[提问]Qt如何实现不同平台的网络连接(PC端与stm32端) [复制链接]

上一主题 下一主题
离线宋晓辉
 

只看楼主 倒序阅读 楼主  发表于: 2016-12-02
回复本帖可获得3点威望奖励!
每人最多可获奖1次,奖池剩余0点威望 (中奖几率30%)
小弟初学Qt最近想做一个网络上位机,实现上位机与stm32(下位机)通过网线相连,想用下位机做服务器端,上位机做客户端,现在下位机程序已经写好,用别人的网络调试助手已经确定下位机没有问题,下位机用的是lwip协议(tcp/ip协议的一种),然后我按照网上的教程写了一个最简单的客户端里边只用了connectToHost()函数(这是我能想到的唯一办法),然后尝试与下位机进行连接,但是一直到连不上,并且提示"The remote host closed the connection" 。求做过的大神给下指导,被卡了好多天了 谢谢!!!!
离线zhuifengwy

只看该作者 1楼 发表于: 2016-12-03
是不是你的防火墙未关闭?
4条评分好评度+1贡献值+1金钱+1威望+1
宋晓辉 好评度 +1 - 2016-12-04
宋晓辉 贡献值 +1 - 2016-12-04
宋晓辉 威望 +1 - 2016-12-04
宋晓辉 金钱 +1 - 2016-12-04
离线宋晓辉

只看该作者 2楼 发表于: 2016-12-04
回 zhuifengwy 的帖子
zhuifengwy:是不是你的防火墙未关闭? (2016-12-03 08:11) 

嗯嗯 大神 ,我试了一下果然连上了
离线宋晓辉

只看该作者 3楼 发表于: 2016-12-04
回 zhuifengwy 的帖子
zhuifengwy:是不是你的防火墙未关闭? (2016-12-03 08:11) 

大神那我想通过客户端往我的服务器端发送数据怎么办?
QString string=ui->sendMessageLineEdit->text();
    QByteArray message;
    QDataStream out(&message,QIODevice::WriteOnly);
    out.setVersion(QDataStream::Qt_5_7);
    out<<string;
    sendTcpSocket->write(message);
我写了这样一个槽 可是数据发送不下去
离线宋晓辉

只看该作者 4楼 发表于: 2016-12-04
回 宋晓辉 的帖子
宋晓辉:大神那我想通过客户端往我的服务器端发送数据怎么办?
QString string=ui->sendMessageLineEdit->text();
    QByteArray message;
    QDataStream out(&message,QIODevice::WriteOnly);
....... (2016-12-04 09:43) 

现在数据虽然可以发送了但是我要点发送数据按钮很多次才能发送 大概数了一下 每次大概都是7下才可以……
离线daatyu

只看该作者 5楼 发表于: 2016-12-05
回帖奖励+ 3
关闭防火墙
离线bran_lee

只看该作者 6楼 发表于: 2016-12-06
回 宋晓辉 的帖子
宋晓辉:现在数据虽然可以发送了但是我要点发送数据按钮很多次才能发送 大概数了一下 每次大概都是7下才可以…… (2016-12-04 11:06) 

试试flush
当你只有锤子时,你看什么都像是钉子!
离线宋晓辉

只看该作者 7楼 发表于: 2016-12-06
回 bran_lee 的帖子
bran_lee:试试flush (2016-12-06 08:44) 

嗯问题解决了,又遇到了另个问题,现在有另一个很奇怪的问题是,我向服务器端发送1位数字的时候在服务器端显示的数据都是一样的, 但是把这个数据通过服务器端返回客户端时却和我发送下去的数据相同。
离线bran_lee

只看该作者 8楼 发表于: 2016-12-07
回 宋晓辉 的帖子
宋晓辉:嗯问题解决了,又遇到了另个问题,现在有另一个很奇怪的问题是,我向服务器端发送1位数字的时候在服务器端显示的数据都是一样的, 但是把这个数据通过服务器端返回客户端时却和我发送下去的数据相同。 (2016-12-06 14:56) 

这个肯定是你代码哪里有问题,只能你自己调试,定位,解决。
当你只有锤子时,你看什么都像是钉子!
离线baisetuzi

只看该作者 9楼 发表于: 2018-09-28
我在学习使用Qt进行网络通信,但是没有思路
快速回复
限100 字节
 
上一个 下一个