#include <QDialog>
#include <QUdpSocket>
namespace Ui {
class Discovery;
}
{
Q_OBJECT
public:
explicit Discovery
(QWidget *parent
= 0);
~Discovery();
private:
Ui::Discovery *ui;
public slots:
void processPendingDatagrams(void);
};
#include <QDialog>
#include <QUdpSocket>
namespace Ui {
class Discovery;
}
class Discovery : public QDialog
{
Q_OBJECT
public:
explicit Discovery(QWidget *parent = 0);
~Discovery();
private:
Ui::Discovery *ui;
QUdpSocket sock;
public slots:
void processPendingDatagrams(void);
};
To copy to clipboard, switch view to plain text mode
#include "discovery.h"
#include "ui_discovery.h"
#include <QUdpSocket>
Discovery
::Discovery(QWidget *parent
) : ui(new Ui::Discovery),
sock(this)
{
ui->setupUi(this);
connect(&sock, SIGNAL(readyRead ()), this, SLOT (processPendingDatagrams ()));
static const char datagramma[] = {00, 01, 00, 0xF6 };
dg.append(datagramma, sizeof(datagramma));
sock.bind();
sock.
writeDatagram(dg,
QHostAddress("255.255.255.255"), 0x77FE
);
}
Discovery::~Discovery()
{
delete ui;
}
void Discovery::processPendingDatagrams(void)
{
char data[64];
quint16 port;
sock.readDatagram(data, sizeof(data), &host, &port);
qDebug("read from %s", host.toString().toAscii().constData());
}
#include "discovery.h"
#include "ui_discovery.h"
#include <QUdpSocket>
Discovery::Discovery(QWidget *parent) :
QDialog(parent),
ui(new Ui::Discovery),
sock(this)
{
ui->setupUi(this);
connect(&sock, SIGNAL(readyRead ()), this, SLOT (processPendingDatagrams ()));
QByteArray dg;
static const char datagramma[] = {00, 01, 00, 0xF6 };
dg.append(datagramma, sizeof(datagramma));
sock.bind();
sock.writeDatagram(dg,QHostAddress("255.255.255.255"), 0x77FE);
}
Discovery::~Discovery()
{
delete ui;
}
void Discovery::processPendingDatagrams(void)
{
char data[64];
QHostAddress host;
quint16 port;
sock.readDatagram(data, sizeof(data), &host, &port);
qDebug("read from %s", host.toString().toAscii().constData());
}
To copy to clipboard, switch view to plain text mode
Doing this I can recover IP address
Bookmarks