I'm try broadcast string with udpsocket. But not work 
Server Source Code
sender.cpp
#include "sender.h"
Sender::Sender()
{
timer->setInterval(100);
timer->start();
connect(timer, SIGNAL(timeout()), this, SLOT(siarkan()));
}
void Sender::siarkan()
{
out << "Salawaku" << "Wirasto" << "Slackware";
socket
->writeDatagram
(datagram,
QHostAddress::Broadcast,
9988);
}
#include "sender.h"
Sender::Sender()
{
socket=new QUdpSocket(this);
QTimer *timer=new QTimer(this);
timer->setInterval(100);
timer->start();
connect(timer, SIGNAL(timeout()), this, SLOT(siarkan()));
}
void Sender::siarkan()
{
QByteArray datagram;
QDataStream out(&datagram, QIODevice::WriteOnly);
out.setVersion(QDataStream::Qt_4_0);
out << "Salawaku" << "Wirasto" << "Slackware";
socket->writeDatagram(datagram, QHostAddress::Broadcast, 9988);
}
To copy to clipboard, switch view to plain text mode
main.cpp
#include <QtCore/QCoreApplication>
#include "sender.h"
int main(int argc, char *argv[])
{
Sender send;
return a.exec();
}
#include <QtCore/QCoreApplication>
#include "sender.h"
int main(int argc, char *argv[])
{
QCoreApplication a(argc, argv);
Sender send;
return a.exec();
}
To copy to clipboard, switch view to plain text mode
Client Source Code
dialog.cpp
#include "dialog.h"
#include "ui_dialog.h"
#include <QDebug>
: QDialog(parent
), ui
(new Ui
::Dialog) {
ui->setupUi(this);
socket->bind(9988);
connect(socket, SIGNAL(readyRead()), this, SLOT(terimaData()));
}
Dialog::~Dialog()
{
delete ui;
}
void Dialog::terimaData()
{
while( socket->hasPendingDatagrams() )
{
QByteArray buffer
( socket
->pendingDatagramSize
(),
0 );
socket->readDatagram( buffer.data(), buffer.size() );
stream >> group >> nama >> distro;
}
ui->lineEdit->setText(group);
ui->lineEdit_2->setText(nama);
ui->lineEdit_3->setText(distro);
}
#include "dialog.h"
#include "ui_dialog.h"
#include <QDebug>
Dialog::Dialog(QWidget *parent)
: QDialog(parent), ui(new Ui::Dialog)
{
ui->setupUi(this);
socket=new QUdpSocket(this);
socket->bind(9988);
connect(socket, SIGNAL(readyRead()), this, SLOT(terimaData()));
}
Dialog::~Dialog()
{
delete ui;
}
void Dialog::terimaData()
{
QString group, nama, distro;
while( socket->hasPendingDatagrams() )
{
QByteArray buffer( socket->pendingDatagramSize(), 0 );
socket->readDatagram( buffer.data(), buffer.size() );
QDataStream stream( buffer );
stream.setVersion( QDataStream::Qt_4_0 );
stream >> group >> nama >> distro;
}
ui->lineEdit->setText(group);
ui->lineEdit_2->setText(nama);
ui->lineEdit_3->setText(distro);
}
To copy to clipboard, switch view to plain text mode
main.cpp
#include <QtGui/QApplication>
#include "dialog.h"
int main(int argc, char *argv[])
{
Dialog w;
w.show();
return a.exec();
}
#include <QtGui/QApplication>
#include "dialog.h"
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
Dialog w;
w.show();
return a.exec();
}
To copy to clipboard, switch view to plain text mode
What's wrong with my code ?
Bookmarks