所以这就是......
我正在使用linux触摸屏设备制作嵌入式程序。
我的程序必须通过tcp建立与服务器的连接。问题是我的设备直接在我的程序中引导,如果服务器没有监听,由于我使用的连接结构使用,所有功能都会丢失:
while(!socket->waitForConnected(-1)){
socket->connectToHost(serverIP, port);
thread->sleep(1);
}
(服务器不会一直在听,所以这是“主要”问题)
我发现的解决方案是将此连接作为一个线程,但我无法执行代码。有人可以帮忙吗?这是唯一的解决方案吗?如果是这样,有没有人知道做出这类事情的好文件?
非常感谢帮助,TY!
顺便说一下,我正在使用Qt 4.7!
答案 0 :(得分:0)
只是让人们可以看到解决方案,我创建了一个插槽来建立连接:
void TCP::iniSetup()
{
qDebug("Connecting..");
socket->connectToHost(serverIP, port);
if(socket->state() == QTcpSocket::ConnectedState){
timer->stop();
qDebug("Connected!");
}
}
并将超时(从QTimer对象)连接到此插槽。要重新连接(如果连接丢失),我使用另一个插槽只是为了重新启动计时器。无需重新制作信号和插槽连接!!
对@eyllanesc的所有信任和赞赏,谢谢兄弟!