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