[英]Qt UDPsocket readyread() SIGNAL emit twice
我使用QUDPsocket发送消息。 我连接:connect(socket,SIGNAL(ReadyRead()),this,SLOT(processPendingDatagrams()));
当我在主体中调用sendmessage(“ 123”)时,processPendingDatagrams()仅运行一次。
但是当我在按钮单击事件中调用sendmessage(“ 123”)时,它将运行两次。 如何解决问题?
发信息():
socket-> writeDatagram(data,data.length(),QHostAddress :: Broadcast,port);
如果服务器根据客户端的操作注意到一次或两次,那是客户端的错。
在您的点击事件中,添加如下内容:
qDebug() << "Click event, sending message...";
您可能会注意到,它在单击时以及释放按钮时已发送两次。 相反,您可以执行以下操作:
connect(myButton, &QPushButton::clicked, [this]() {sendMessage("123");}
或做自己的插槽。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.