首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 更多程式語言 >> 程式設計疑難解答

Qt UDP QUdpSocket::bind 參數類型錯誤:QString 轉 QHostAddress

     編輯:程式設計疑難解答

錯誤代碼

QString ip_dest = lineEdit->text();
udpSocket->bind(ip_dest, port); // 編譯錯誤:無法將 QString 轉換為 const QHostAddress&

原因

`QUdpSocket::bind` 簽名為 `bind(const QHostAddress &address, quint16 port)`,**不接受 `QString`**,需顯式構造 `QHostAddress`。

修正

QHostAddress address(ip_dest); // 或 QHostAddress address; address.setAddress(ip_dest);
if (address.isNull()) { /* 格式錯誤提示 */ }
udpSocket->bind(address, port);

注意

  • `bind` 用於**綁定本地地址與端口**(接收數據),而非「綁定目標 IP」。發送數據用 `writeDatagram(data, destAddress, destPort)`。
  • 若需監聽所有網卡,用 `QHostAddress::Any`(IPv4)或 `QHostAddress::AnyIPv6`。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved