我正在开发嵌入式设备,我有一个生成网络的WiFi模块,因此我的设备可用作服务器/热点。 我遇到了这个问题,我怎么知道有多少客户端连接到我的网络?
答案 0 :(得分:1)
听起来就像计算connected
信号的数量减去disconnected
信号的数量一样简单。
答案 1 :(得分:1)
在添加新连接时定义变量+1
,在其中一个连接断开时定义-1
。
更好的方法是让套接字(客户端)的QList轻松访问和管理它们。
像这样获取客户端:
client = nextPendingConnection();
qDebug() << client->peerAddress().toString();
答案 2 :(得分:1)
您可能真正想知道的是,您的应用有多少活跃用户已连接。不计算其他网络软件或卡住/挂起的应用程序的实际连接。
我建议如下:
QMap :: count()为您提供已连接和活动客户端的数量。
作为进一步改进,您还可以将信号附加到socket :: disconnect()信号,并立即从地图中删除该条目,而无需等待超时。