pyramid_ali
شنبه 31 خرداد 1393, 14:47 عصر
با سلام
کسی از دوستان یتونه منو در مورد کار با udp راهنمایی کنه؟
من 2 تا برنامه ی udpsender و udpreciver دارم که موقع اجرای هر دوی اونا توی یه کامپیوتر پیام با موفقیت ارسال میشه ولی موقعی که یکی رو (ارسال کننده) روی آندروید و اون یکی رو روی کامپیوترم اجرا میکنم پیغامی ارسال نمیشه.
این کد udpsender منه:
#include "widget.h"
#include "ui_widget.h"
Widget::Widget(QWidget *parent) :
QWidget(parent),
ui(new Ui::Widget)
{
ui->setupUi(this);
_socket = new QUdpSocket(this);
}
Widget::~Widget()
{
delete ui;
}
void Widget::on_Btn_Send_clicked()
{
int size = ui->Txt_Text->text().size();
char *datagram = new char[size + 1];
strcpy(datagram,ui->Txt_Text->text().toLatin1().data());
_socket->writeDatagram(datagram,size + 1,QHostAddress("127.0.0.1"),4000);
}
اینم کد udpreciver
#include "widget.h"
#include "ui_widget.h"
Widget::Widget(QWidget *parent) :
QWidget(parent),
ui(new Ui::Widget)
{
ui->setupUi(this);
_socket = new QUdpSocket(this);
_socket->bind(4000);
connect(_socket,SIGNAL(readyRead()),this,SLOT(read Data()));
}
Widget::~Widget()
{
delete ui;
}
void Widget::readData()
{
if(!_socket->hasPendingDatagrams())
return;
int size = _socket->pendingDatagramSize();
char *buffer = new char[size];
_socket->readDatagram(buffer,size);
QString Str(buffer);
ui->Txt_Recive->appendPlainText(Str);
}
من خودم فکر میکنم مشکل به خاطر آی پی باشه چون با تغییرش دیگه برنامه تو یه کامپیوتر هم اجرا نمیشه ولی من آی پی هیا 10.0.2.2 و 255.255.255.255 امتحان کردم ولی باز جواب نداد.
دوستان اگه کسی بتونه کمک کنه خیلی ممنون میشم :)
کسی از دوستان یتونه منو در مورد کار با udp راهنمایی کنه؟
من 2 تا برنامه ی udpsender و udpreciver دارم که موقع اجرای هر دوی اونا توی یه کامپیوتر پیام با موفقیت ارسال میشه ولی موقعی که یکی رو (ارسال کننده) روی آندروید و اون یکی رو روی کامپیوترم اجرا میکنم پیغامی ارسال نمیشه.
این کد udpsender منه:
#include "widget.h"
#include "ui_widget.h"
Widget::Widget(QWidget *parent) :
QWidget(parent),
ui(new Ui::Widget)
{
ui->setupUi(this);
_socket = new QUdpSocket(this);
}
Widget::~Widget()
{
delete ui;
}
void Widget::on_Btn_Send_clicked()
{
int size = ui->Txt_Text->text().size();
char *datagram = new char[size + 1];
strcpy(datagram,ui->Txt_Text->text().toLatin1().data());
_socket->writeDatagram(datagram,size + 1,QHostAddress("127.0.0.1"),4000);
}
اینم کد udpreciver
#include "widget.h"
#include "ui_widget.h"
Widget::Widget(QWidget *parent) :
QWidget(parent),
ui(new Ui::Widget)
{
ui->setupUi(this);
_socket = new QUdpSocket(this);
_socket->bind(4000);
connect(_socket,SIGNAL(readyRead()),this,SLOT(read Data()));
}
Widget::~Widget()
{
delete ui;
}
void Widget::readData()
{
if(!_socket->hasPendingDatagrams())
return;
int size = _socket->pendingDatagramSize();
char *buffer = new char[size];
_socket->readDatagram(buffer,size);
QString Str(buffer);
ui->Txt_Recive->appendPlainText(Str);
}
من خودم فکر میکنم مشکل به خاطر آی پی باشه چون با تغییرش دیگه برنامه تو یه کامپیوتر هم اجرا نمیشه ولی من آی پی هیا 10.0.2.2 و 255.255.255.255 امتحان کردم ولی باز جواب نداد.
دوستان اگه کسی بتونه کمک کنه خیلی ممنون میشم :)