我使用QUDPsocket发送消息。我连接: 连接(插座,SIGNAL(ReadyRead()),对此,SLOT(processPendingDatagrams()));
当我在main中调用sendmessage(" 123")时,processPendingDatagrams()只运行一次。
但是当我在按钮点击事件中调用sendmessage(" 123")时,会运行两次。如何解决问题?
的SendMessage():
socket-> writeDatagram(data,data.length(),QHostAddress :: Broadcast,port);
答案 0 :(得分:0)
如果服务器根据客户端的操作通知一次或两次,那么它就是客户端的错误。
在点击事件中,添加以下内容:
qDebug() << "Click event, sending message...";
您可能会注意到它已经发送两次,点击按下并释放按钮时。相反,你可以做类似的事情:
connect(myButton, &QPushButton::clicked, [this]() {sendMessage("123");}
或者做自己的插槽。