#include "widget.h"
#include "ui_widget.h"
#include<QTextCodec>
Widget::Widget(QWidget *parent) :
QWidget(parent),
ui(new Ui::Widget)
{
ui->setupUi(this);
//QTextCodec::setCodecForLocale(QTextCodec::codecForName("GB2312"));
soc = new Socket(60005);
connect(soc, SIGNAL(readyRead()), this, SLOT(processPendingDatagrams()));
}
Widget::~Widget()
{
delete ui;
}
void Widget::on_pushButton_clicked()
{
ui->textEdit->clear();
PacketShort pktShort;
memset(&pktShort,0,sizeof(pktShort));
pktShort.type = 0x17;
pktShort.functionID = 0x94;
// char buffer[1024];
// memset(buffer, 0, 1024);
// memcpy(buffer, &pktShort, sizeof(pktShort));
soc->writeDatagram((char *)&pktShort, sizeof(pktShort), QHostAddress::Broadcast, 60000);
}
void Widget::processPendingDatagrams()
{
while (soc->hasPendingDatagrams()) {
QByteArray datagram;
datagram.clear();
int x = soc->pendingDatagramSize();
datagram.resize(soc->pendingDatagramSize()+1);
PacketShort pktShort;
memset(&pktShort,0,sizeof(pktShort));
soc->readDatagram((char *)&pktShort, soc->pendingDatagramSize());
ui->textEdit->insertPlainText(tr("SN: \"%1\" \n").arg(pktShort.iDevSn));
}
}