1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61
|
#include <QtWidgets>
#include <QtNetwork>
#include <QtCore>
#include "mainwindow.h"
Sender::Sender(QWidget *parent)
: QWidget(parent)
{
status = new QLabel(tr("Pret a envoyez les datagrammes sur le port 45454"));
status->setWordWrap(true);
premieretrame = new QPushButton("trames1");
deuxiemetrame = new QPushButton("Trames 2");
startButton = new QPushButton(tr("&GO"));
auto quitButton = new QPushButton(tr("&Quittez"));
auto buttonBox = new QDialogButtonBox;
buttonBox->addButton(startButton, QDialogButtonBox::ActionRole);
buttonBox->addButton(quitButton, QDialogButtonBox::RejectRole);
udpSocket = new QUdpSocket(this);
connect(startButton, &QPushButton::clicked, this, &Sender::startBroadcasting);
connect(quitButton, &QPushButton::clicked, this, &Sender::close);
connect(premieretrame, &QPushButton::clicked, this, &Sender::Datagram);
connect(deuxiemetrame, &QPushButton::clicked, this, &Sender::deuxdata);
auto mainLayout = new QVBoxLayout;
mainLayout->addWidget(status);
mainLayout->addWidget(premieretrame);
mainLayout->addWidget(deuxiemetrame);
mainLayout->addWidget(buttonBox);
setLayout(mainLayout);
setWindowTitle(tr("Sender"));
}
void Sender::startBroadcasting()
{
startButton->setEnabled(false);
timer.start(1000);
timemesure.start(1500);
}
void Sender::Datagram()
{
status->setText(tr("Trames=%1").arg(messageNo));
QByteArray datagram = "J'ai reussi=" + QByteArray::number(messageNo);
udpSocket->writeDatagram(datagram, QHostAddress::Broadcast, 45454);
++messageNo;
}
void Sender::deuxdata()
{
status->setText(tr("Envoie mesure relevé"));
QByteArray data ="Mesure envoyée";
udpSocket->writeDatagram(data,QHostAddress::Broadcast, 45454);
} |
Partager