问题标签 [qtcpserver]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
90 浏览

c++ - 调用 QTcpServer 时程序崩溃

我正在尝试一个非常非常简单的 QT 网络程序。由于某种原因,它在没有任何错误消息的情况下执行时崩溃,因为它没有按预期将任何输出打印到命令行。这是代码:

qtTCPservertest.pro

服务器.h

服务器.cpp

main.cpp

有谁知道,我哪里出错了?由于没有错误,我完全一无所知。它只是没有打印出任何东西,它只是告诉我按任意键关闭窗口,就好像它像往常一样结束了。

感谢您的任何建议。

0 投票
1 回答
466 浏览

qt - QTcpSocket readyRead() 信号多次发出

我是 Qt 新手,目前正在学习使用QTcpServerQTcpSocket.

我处理数据的代码就像

像这样使用信号是正确的方法吗?当我阅读文档时,在同一线程中立即调用插槽,这意味着如果我的处理工作尚未完成并且有新数据出现,Qt 将暂停当前工作并processData()再次进入。那不是我想要做的,那么我应该QueueConnection在信号/插槽连接中吗?

或者您能否提供一些我在这种情况下应该采用的好方法?

0 投票
1 回答
118 浏览

c++ - qt qtcpserver 只有在 main 函数中创建时才有效

我刚刚写了一个简单的 qtcpserver,几乎就是这个例子:QT QTcpServer::incomingConnection(qintptr handle) not fire?

服务器基本上可以工作,但只有在 main 函数中创建它时。

在职的:

不工作(这段代码无论如何都不会像这样工作,它只是为了向你展示我的意思):

当我在 main 函数中创建一个类 A 并在 AI 中创建 tcpserver 时,incomingConnection() 函数永远不会执行,尽管服务器本身已启动。我可以看到这一点,因为我从 A 的构造函数中获得了“服务器开始于端口 ...”消息:

这意味着,我的 main 函数现在包含 A 类和 qtcpserver 函数。当客户端连接时,qtcpserver 函数再次创建一个新线程。我想要做的是让线程在我的 A 类中接收到消息。这就是为什么我想在 A 类中创建 qtcpserver。

有人对此有什么建议吗?如何在 A 中创建服务器?

谢谢!

0 投票
1 回答
691 浏览

c++ - 为什么我不能为我的 QTcpServer 设置一个特定的地址?

我只想用一个特定的地址设置我的 QTcpServer。我已经用这段代码试过了,但它不起作用......

这是错误:

谁能帮我?

0 投票
1 回答
311 浏览

c++ - QtNetwork:为什么我检测不到传入连接?(incomingConnection() 永远不会被解雇)

我坚持使用关于线程 qt-networking 的教程(在这里:http ://doc.qt.io/qt-5/qtnetwork-threadedfortuneserver-example.html ),我做了一些小改动并将其集成到我的主程序中. 但是incomingConnection()永远不会被执行,另一方面,客户端能够连接。由于我想使用incomingConnection()它已经过时了,SIGNAL(newConnection())但即使这样也行不通。

有人知道出了什么问题吗?

这里我的.h

.cpp

这里是我的主程序的摘录,它是在哪里启动的(顺便说一句,如果我省略moveToThread()并不重要:

如果我在wifi初始化后添加这些行,即使这也没有影响:

换句话说,“incomming”永远不会被打印出来,所以我无法继续工作。有谁知道,这几乎是 1:1 的教程中的代码,这让我感到困惑。

0 投票
1 回答
1100 浏览

c++ - 在 Qt5.4.1 中找不到类型 qintptr

我正在使用 Qt5.4.1,并实现一个服务器-客户端应用程序。在 QTcpServer 类中的方法:

具有整数类型socketDescriptor,但对于 Qt5.5,此方法已更改并具有以下声明:

问题是我的编译器找不到 typedef qintptr。错误消息是 qintptr 尚未声明。

我已经添加了头文件

但编译器仍然找不到这种类型。

当我将 更改为qintptrquintptr,编译器会找到它,但是这种类型会给出类型不匹配错误。我怎么解决这个问题?

0 投票
1 回答
218 浏览

c++ - QTcpServer 在不同的线程中接收和发送

我在 QT 框架(c++)中有一个软件,它假设将处理过的(本地)数据发送到其他服务器并接收在其他服务器上处理的相同(外部)数据并进行比较。

处理大量本地数据时会出现问题,外国数据被缓冲,直到所有本地数据都发送后才进入比较过程。我需要在特定时间范围内比较数据,所以这会导致超时。

一个想法是使用一个线程来分派本地数据,而另一个线程来接收和比较外部数据。QTcpServer 可能需要一个互斥锁来保护它不被同时读写。

这可能与一个连接有关,还是在 QT 环境中有一个用于调度和一个用于接收的连接会更好?

我检查了财富服务器示例 http://doc.qt.io/qt-5/qtnetwork-threadedfortuneserver-example.html 但我需要知道使用不同线程在同一连接上发送和接收是否可行和合乎逻辑。

PS。我是多线程的新手,所以如果我误解了一些概念,我深表歉意。

0 投票
1 回答
811 浏览

c++ - QTcpSocket 在 QTcpServer::nextPendingConnection() 之后获得 NULL

所以我这里有一个 QTcpServer(Qt 的 Fortune Server 示例的简化版)。它之前工作正常。然后我移动了一些东西并更改了一些代码。现在我的服务器在启动时崩溃了。据我所知,之后

tcpSocket 保持为NULL因此,像tcpSocket->anyCall()这样的所有调用都会导致段错误。应用程序输出显示:

所以我的问题是,为什么 tcpServer->nextPendingConnection() 突然返回NULL ,而在我移动它之前它工作得很好?

以下是我的代码的相关部分:

0 投票
1 回答
477 浏览

qt - QTcpServer::hadPendingConnections() 在新连接时返回 false

我正在开发一些服务器应用程序,该框架是子类化QTcpServer的,命名为UeTcpServer. ueSlotTcpServerNewConnection()服务器应用程序正常启动,当我在连接到UeTcpServer的断点时newConnectionSignal通过

然后使用连接到服务器应用程序Linux terminal,断点在ueSlotTcpServerNewConnection()插槽内激活:

但是,this->ueTcpServer()->hasPendingConnection()返回false. 为什么?

0 投票
1 回答
89 浏览

multithreading - 从 QThread 调用 QTcpSocket 类的写入函数时出现错误

我正在学习 Qt 中的多线程编程,然后在我从 . 调用QTcpSocket类的 write 函数时QThread。函数输出是:

我调用 write 函数的代码:

我接受连接的代码:

连接处理器的定义:

然后我将处理器移到QThread

QTcpServer在主线程中创建。

调用函数的GetSystemInfoOfClient函数:

处理器的构造函数:

我只想在主线程中创建一个服务器并处理处理器类中的连接。我如何在不改变这种想法的情况下避免这个错误?