簡體   English   中英

Qt UDPsocket readyread()信號發出兩次

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM