QTcpSocket 不会发出任何错误或连接信号

Posted

技术标签:

【中文标题】QTcpSocket 不会发出任何错误或连接信号【英文标题】:QTcpSocket not emit any error or connected signals 【发布时间】:2015-05-16 11:20:11 【问题描述】:

我有一个小项目,它使用QTcpSocket 通过网络发送一些数据。服务器工作正常,但客户端 (code here) 似乎什么也没做。如果我在tcpSocket.connectToHost("127.0.0.1",port); 设置断点,它会跳进去,但不是我定义的任何插槽。

我不知道出了什么问题。我认为环境还可以,因为我可以从 Qt GUI Programming 构建 2 个工作示例

感谢任何想法。

【问题讨论】:

嘿,有人投了反对票,请告诉我为什么,至少我没有同样的错误? 重现问题的最小情况必须是问题的一部分。您的问题可能已被否决为仅链接问题。 【参考方案1】:

您没有QApplication 实例,因此没有事件循环来处理所有事件/信号和插槽。

所以你至少需要在 main.cpp 中像这样的QCoreApplication 实例:

int main(int argc, char *argv[])

    QCoreApplication a(argc, argv);
    Client client;
    client.connectToServer();

    return a.exec();

【讨论】:

以上是关于QTcpSocket 不会发出任何错误或连接信号的主要内容,如果未能解决你的问题,请参考以下文章

为啥 QTcpSocket 不发出信号?

QTcpSocket Disconnected() 未发出信号

Qt的QTcpSocket ReadyRead信号的实现

QTcpSocket readyRead() 信号多次发出

Qt - 当一个类中有多个 QTcpSocket 时,我如何知道哪个 QTcpSocket 发出了 readyRead 信号?

QTcpSocket 客户端自动重连