我有问题要找出为什么我的短QUdpSocket示例不起作用。我打算只使用一个UDP套接字在端口2007上以192.168.2.66读取和写入嵌入式设备。设备将始终在端口2007上向发件人进行回复。我使用UDP终端软件测试了设备,并按照我的说法工作。所以,我设计了一个简单的类来嵌入管理设备所需的功能:
class QUdp : public QObject
{
// Q_OBJECT
public:
explicit QUdp(QObject *parent = 0, const char *szHost = 0, uint16_t wPort = 0);
~QUdp();
bool Open();
int64_t Write(QByteArray &data);
int64_t Write(QString strData);
private:
QString m_strHost;
uint16_t m_wPort;
QUdpSocket *OUdp;
private slots:
void received();
};我想这个问题在Open方法中:
bool QUdp::Open()
{
QHostAddress OHost;
connect(OUdp, &QUdpSocket::readyRead, this, &QUdp::received);
bool zRet = OUdp->bind(QHostAddress::AnyIPv4, m_wPort, QUdpSocket::ShareAddress);
OHost.setAddress(m_strHost