首页| 论坛| 消息

标题:求助:数据通过3G能同步上传,但通过wifi却不行
作者:linchang123
日期:2014-02-20 22:37
内容:

功能是实现数据的透传,例如将串口输入的数据通过WIFI或者3g上传到服务器202.116.65.245。
从串口到3G的功能是正常的,但是从串口到wifi就不行,每次都在命令行看到有数据进来,但服务器上却没有数据更新,直到点击“断开连接”,则会看到服务器上面的数据有更新。
所以求各位大神指点迷津,是哪里出了问题。
另外,不管是串口到3G或者是串口到wifi,都存在一个奇怪的现象:
假如有ABCDEFGHIJKL这么多组数据,我们点击“开始连接”,假设当传进来ABCD的时候我们点击“断开连接”,然后点击“开始连接”,则在命令行可以看到后面进来的数据是这样子:EEFFGG。如果这时候再点击“断开连接”,再“开始连接”,则接下来的数据会是HHHIIIJJJKKKLLL.以此类推,每次断开连接,再重新连接那么进来的数据重复,并且重复次数会递增。

相关的代码如下:
mainwindow.cpp
#include "mainwindow.h"
#include "ui_mainwindow.h"
MainWindow::MainWindow(QWidget *parent) :
QMainWindow(par ..


#1 [zhanglyl 02-21 10:33]
ip地址的 正则式 (mainwindow.cpp51行)过于粗糙,999.888.777.666就不是合法的ip了,参考如下:
QRegExp regExp("((2[0-4]\\d|25[0-5]|[01]?\\d\\d?)\\.){3}(2[0-4]\\d|25[0-5]|[01]?\\d\\d?)");
#2 回 zhanglyl 的帖子 [linchang123 02-21 11:49]
zhanglyl:ip地址的 正则式 (mainwindow.cpp51行)过于粗糙,999.888.777.666就不是合法的ip了,参考如下:
QRegExp regExp("((2[0-4]\\d|25[0-5]|[01]?\\d\\d?)\\.){3}(2[0-4]\\d|25[0-5]|[01]?\\d\\d?)"); (2014-02-21 10:33) 
好的,谢谢
#3 [zhanglyl 02-21 16:15]
添加如下:
connect(networkManager, SIGNAL(finished(QNetworkReply*)), this, SLOT(networkReply(QNetworkReply*)));
大概像这样:
void SerialToTcp::networkReply(QNetworkReply *reply)
{
QString serverResponse = reply->readAll();
qDebug()
#4 回 zhanglyl 的帖子 [linchang123 02-21 19:56]
zhanglyl:添加如下:
connect(networkManager, SIGNAL(finished(QNetworkReply*)), this, SLOT(networkReply(QNetworkReply*)));
大概像这样:
void SerialToTcp::networkReply(QNetworkReply *reply)
....... (2014-02-21 16:15) 
好的,谢谢
#5 回 zhanglyl 的帖子 [linchang123 02-24 11:09]
zhanglyl:
添加如下:
connect(networkManager, SIGNAL(finished(QNetworkReply*)), this, SLOT(networkReply(QNetworkReply*)));
大概像这样:
void SerialToTcp::networkReply(QNetworkReply *reply)
.......

您好,connect(networkManager, SIGNAL(finished(QNetworkReply*)), this, SLOT(networkReply(QNetworkReply*)));这个函数要放在哪里?构造函数里?貌似我添加了之后报错了。我是把它添加到构造函数里的,如下所示
.

而且也在头文件里添加了槽函数的声明,如下所示:


但是编译之后显示报错:

请问是什么原因呢?

<< 1 2 >> (1/2)

回复 发表
主题 版块