PDA

View Full Version : استفاده از udpSocket



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 امتحان کردم ولی باز جواب نداد.
دوستان اگه کسی بتونه کمک کنه خیلی ممنون میشم :)

parvizwpf
شنبه 31 خرداد 1393, 14:53 عصر
شما آی پی اندروید رو از کجا میارید؟
http://qt-project.org/forums/viewthread/23490

pyramid_ali
شنبه 31 خرداد 1393, 14:55 عصر
منظور از آی پی اندروید چیه دقیقا؟
من واسه وصل کردن دو تا دستگاه از اتصال به یه مودم که فکر کنم لوکال میشه استفاده میکنم... وگرنه که آی پی استاتیک نداره که ...
در کل متوجه منظورتون نشدم دقیقا :)

parvizwpf
شنبه 31 خرداد 1393, 15:08 عصر
دستگاه اندرویدی رو چطور به این مودم وصل کرده اید؟یعنی خلاصه چطور رابط دستگاه اندروید رو با پی سی برقرار میکنید؟

pyramid_ali
شنبه 31 خرداد 1393, 15:33 عصر
من با وای فای :)
فهمیدم مشکل کجاست الان درستش کردم باید میرفتم آی پی کامپیوترم رو تو اونجا میزدم. الان که این کارو کردم برنامه کار میکنه :)
بازم ممنون به خاطر کمکتون