使用QT进行WIFI无线传输数据

阅读: 评论:0

使用QT进行WIFI无线传输数据

使用QT进行WIFI无线传输数据

好久没有更新博客了,今天简单写下关于WiFi无线通信进行数据传输的相关内容.
基于TCP/IP协议的通信.代码在文章末尾;具体实现如下:
1.首先win+R 进入命令行,输入ipconfig查看WiFi网卡的IP地址;
2.使用WiFi网址对网关进行ping操作,保证网关可以ping通;
3.在另一台具有WiFi网卡的电脑进行同样操作;
4.两台电脑互ping,保证ping通,若不通检查防火墙是否关闭.
将文末的WiFi程序进行执行,发送即可成功.

#ifndef CLIENT_H
#define CLIENT_H#include <QWidget>
#include <QTcpSocket>   //通信套接字namespace Ui {
class Client;
}class Client : public QWidget
{Q_OBJECTpublic:explicit Client(QWidget *parent = 0);~Client();public slots:void doConnected();void receiveMsg();
private slots:void on_pbtConnect_clicked();void on_pbtSend_clicked();void on_pbtClose_clicked();private:Ui::Client *ui;QTcpSocket *tcpSocket;QString msg;QString recMsg;
};#endif // CLIENT_H
#ifndef SERVICE_H
#define SERVICE_H#include <QWidget>
#include <QTcpServer>   //监听套接字
#include <QTcpSocket>   //通信套接字namespace Ui {
class Service;
}class Service : public QWidget
{Q_OBJECTpublic:explicit Service(QWidget *parent = 0);~Service();public slots:void serverConnect();void readMsg();private slots:void on_pbtSend_clicked();void on_pbtClose_clicked();private:Ui::Service *ui;QTcpServer *tcpServer;QTcpSocket *tcpSocket;QString msg;QString recMsg;
};#endif // SERVICE_H
#include "client.h"
#include "ui_client.h"
#include <QHostAddress>#include <QMessageBox>
#include <QDebug>
#define cout qDebug()<<"[" <<__FILE__<<":"<<__LINE__<<"]"
#pragma execution_character_set("utf-8")Client::~Client()
{delete ui;
}Client::Client(QWidget *parent) :QWidget(parent),ui(new Ui::Client)
{ui->setupUi(this);setWindowTitle("客户端");recMsg.clear();tcpSocket=NULL;tcpSocket=new QTcpSocket(this);connect(tcpSocket,SIGNAL(connected()),this,SLOT(doConnected()));connect(tcpSocket,SIGNAL(readyRead()),this,SLOT(receiveMsg()));}void Client::doConnected()
{recMsg="成功和服务器连接";ui->textBrowser->setText(recMsg);
}void Client::receiveMsg()
{QByteArray array=tcpSocket->readAll();QString str=array;msg+=str+"rn";ui->textBrowser->setText(msg);
}void Client::on_pbtConnect_clicked()
{if(tcpSocket==NULL)tcpSocket=new QTcpSocket(this);QString ip=ui->letIP->text();qint16 port=ui->letPort->text().toInt();tcpSocket->connectToHost(QHostAddress(ip),port);}void Client::on_pbtSend_clicked()
{if(tcpSocket==NULL){ui->textBrowser->setText("当前无连接");return;}QString str=ui->textEdit->toPlainText();tcpSocket->Utf8().data());
}void Client::on_pbtClose_clicked()
{if(tcpSocket==NULL){ui->textBrowser->setText("当前无连接");return;}//主动和客户端断开连接tcpSocket->disconnectFromHost();tcpSocket->close();tcpSocket=NULL;
}
#include "service.h"
#include "ui_service.h"#include <QMessageBox>
#include <QDebug>
#define cout qDebug()<<"[" <<__FILE__<<":"<<__LINE__<<"]"
#if _MSC_VER >= 1600
#pragma execution_character_set("utf-8")
#endifService::~Service()
{delete ui;
}Service::Service(QWidget *parent) :QWidget(parent),ui(new Ui::Service)
{ui->setupUi(this);msg.clear();recMsg.clear();tcpServer=NULL;tcpSocket=NULL;tcpServer=new QTcpServer(this);setWindowTitle("服务器");tcpServer->listen(QHostAddress::Any,8888);connect(tcpServer,SIGNAL(newConnection()),this,SLOT(serverConnect()));}void Service::serverConnect()
{tcpSocket=tcpServer->nextPendingConnection();QString ip=tcpSocket->peerAddress().toString();int port=tcpSocket->peerPort();QString temp=QString("[%1:%2]:连接成功").arg(ip).arg(port);QString title=QString("服务器 ip%1:%2").arg(ip).arg(port);setWindowTitle(title);msg+=temp+"rn";ui->textBrowser->setText(msg);connect(tcpSocket,SIGNAL(readyRead()),this,SLOT(readMsg()));
}void Service::readMsg()
{QByteArray array=tcpSocket->readAll();QString str=array;msg+=str+"rn";ui->textBrowser->setText(msg);}void Service::on_pbtSend_clicked()
{if(tcpSocket==NULL){ui->textBrowser->setText("当前无连接");return;}QString str=ui->textEdit->toPlainText();tcpSocket->Utf8().data());
}void Service::on_pbtClose_clicked()
{if(tcpSocket==NULL){ui->textBrowser->setText("当前无连接");return;}//主动和客户端断开连接tcpSocket->disconnectFromHost();tcpSocket->close();
//    tcpSocket=NULL;
}

本文发布于:2024-02-02 22:30:12,感谢您对本站的认可!

本文链接:https://www.4u4v.net/it/170688421246862.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:无线传输   数据   QT   WIFI
留言与评论(共有 0 条评论)
   
验证码:

Copyright ©2019-2022 Comsenz Inc.Powered by ©

网站地图1 网站地图2 网站地图3 网站地图4 网站地图5 网站地图6 网站地图7 网站地图8 网站地图9 网站地图10 网站地图11 网站地图12 网站地图13 网站地图14 网站地图15 网站地图16 网站地图17 网站地图18 网站地图19 网站地图20 网站地图21 网站地图22/a> 网站地图23