QTcpSocket 的状态

Posted

技术标签:

【中文标题】QTcpSocket 的状态【英文标题】:State of a QTcpSocket 【发布时间】:2012-05-27 10:55:43 【问题描述】:

我的 QTcpSocket 库有问题。

我创建了两个程序,它们使用同一个套接字连接与同一个客户端进行通信。不幸的是,这样做,如果程序同时写入,客户端只能通过套接字读取一个字符串(通常是第一个)。

所以我需要知道是否存在特定函数(或方法)以了解套接字是否忙,以便延迟发送第二个字符串。

提前致谢。

【问题讨论】:

你描述的没有意义。请显示发送和接收代码的相关部分。 “我创建了两个程序,它们使用同一个套接字连接与同一个客户端进行通信。” 这是不可能的。请用一些代码澄清您的问题以获得有效的答案。 【参考方案1】:

您不能有 2 个客户端使用同一个套接字。服务器应该与QTcpServer 一起工作,并且每次您收到一个新连接(来自客户端)时,您都会创建一个新的QTcpSocket(显然,现在一切都是服务器端的)。客户端使用 QTcpSocket 连接到服务器。

【讨论】:

以上是关于QTcpSocket 的状态的主要内容,如果未能解决你的问题,请参考以下文章

QT 使用 QTcpSocket来检测 ip 设备的网络状态

QTcpSocket 问题

同一对象中的 QTcpSocket 到 QTcpSocket

Python QtNetwork.QTcpSocket.readAll() 和 QtNetwork.QTcpSocket.write() 不起作用

C++ Qt - QTcpSocket - 找不到文件

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