无法在qt中建立客户端和服务器之间的WiFi连接

时间:2017-01-13 16:44:47

标签: qt

我正在开发一个应用程序来连接2个设备(一个作为服务器,另一个作为客户端),这样他们就可以相互通信(即从其中一个发送并在另一个接收)。这两个设备连接到相同的WiFi。为了测试(在2台Windows笔记本电脑上),我已经从客户端代码制作了一个安装程序文件,并在第二台设备上安装并运行它。但沟通尚未建立。问题在哪里?

我有什么设置吗?

注意:我已经在我的笔记本电脑上运行应用程序(服务器和客户端)并且运行正常。但对于2台笔记本电脑来说,它并没有!

这是我的server.cpp:

#include "mainwindow.h"
#include "ui_mainwindow.h"
#include <QTcpServer>
#include <QTcpSocket>

MainWindow::MainWindow(QWidget *parent) :
    QMainWindow(parent),
    ui(new Ui::MainWindow)
{
    ui->setupUi(this);
    _server = new QTcpServer(this);

    _server->listen(QHostAddress::Any,2000);
    statusBar()-> showMessage("listening...");
   connect(_server,SIGNAL(newConnection()),this, SLOT(newConnection()));
}

MainWindow::~MainWindow()
{
    delete ui;
}

void MainWindow::newConnection()
{
  _socket =
        _server->nextPendingConnection();
  connect(_socket, SIGNAL(readyRead())
          ,this ,SLOT(readData()));
  ui->label->setText("connection stablished");
  statusBar()->showMessage("");


}
void MainWindow::readData()
{
  QByteArray ba = _socket->readAll();
  QString str(ba);
  ui->plainTextEdit->appendPlainText(str);

}

和client.cpp:

    #include "mainwindow.h"
#include "ui_mainwindow.h"
#include <QTcpSocket>
#include <QHostAddress>

MainWindow::MainWindow(QWidget *parent) :
    QMainWindow(parent),
    ui(new Ui::MainWindow)
{
    ui->setupUi(this);
    ui->progressBar->hide();
    _socket = new QTcpSocket(this);

    connect(_socket,SIGNAL(connected())
            ,this,SLOT(connectToHost()));


}

//127.0.0.1 == localhost
MainWindow::~MainWindow()
{
    delete ui;
}

void MainWindow::connectToHost()
{
    ui->progressBar->hide();
    ui->btn_send->setEnabled(true );

}

void MainWindow::on_btn_connect_clicked()
{
    ui->progressBar->show();
     QHostAddress address("127.0.0.1");
    _socket -> connectToHost(address,2000);//inja darkhast connection ersal mishe.

}

void MainWindow::on_btn_send_clicked()
{

    QByteArray  data = ui->LED_send_text
            ->text().toLocal8Bit();
    _socket->write(data );
}

0 个答案:

没有答案