qt for android 开发之tcp通讯

这篇具有很好参考价值的文章主要介绍了qt for android 开发之tcp通讯。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

简介

通过TCP使PC和android手机相互通讯。

准备

使用QT的网络模块

QT       += core gui network

greaterThan(QT_MAJOR_VERSION, 4): QT += widgets

.h

定义TCP接口

#include <QTcpSocket>

class MainWindow : public QMainWindow
{
    Q_OBJECT

public:
    explicit MainWindow(QWidget *parent = 0);
    ~MainWindow();

private slots:
	void socket_ReadData();
	void socket_Disconnected();
private:
    Ui::MainWindow *ui;
    QTcpSocket *socket;
};

.cpp

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

    socket = new QTcpSocket();

    //连接信号槽
    QObject::connect(socket, &QTcpSocket::readyRead, this, &MainWindow::socket_Read_Data);
    QObject::connect(socket, &QTcpSocket::disconnected, this, &MainWindow::socket_Disconnected);
}

void tcpDemo(bool isConnect, QString IP,int port)
{
    //获取IP地址: IP
    //获取端口号: port
	if(isConnect)
	{
    //取消已有的连接
    socket->abort();
    //连接服务器
    socket->connectToHost(IP, port);

    //等待连接成功
    if(!socket->waitForConnected(30000))
    {
        qDebug() << "Connection failed!";
        return;
    }
    qDebug() << "Connect successfully!";)
    }
    else
    {
        //断开连接
        socket->disconnectFromHost();
	}
}

发送TCP数据

void Send_data(QString data)
{
     //获取文本框内容并以ASCII码形式发送
    socket->write(data).toLatin1());
    socket->flush();
}

读取TCP数据

void MainWindow::socket_ReadData()
{
    QByteArray buffer;
    //读取缓冲区数据
    buffer = socket->readAll();
    if(!buffer.isEmpty())
    {
    	//读取TCP数据
        QString str = ui->textEdit_Recv->toPlainText();
        str+=tr(buffer);
        
        //str数据处理
       		 //。。。
    }
}

void MainWindow::socket_Disconnected()
{
    qDebug() << "Disconnected!";
}

效果大致如下

和IP为192.168.1.101 端口为8765的PC服务端进行通讯。
qt for android 开发之tcp通讯,QT,qt,android,tcp/ip文章来源地址https://www.toymoban.com/news/detail-531670.html

到了这里,关于qt for android 开发之tcp通讯的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • windows11下Qt6.5开发环境安装及QT for Android环境搭建(含虚拟机的创建)

    最近想升级Qt6.5及顺便配置Android开发环境。于是在网上找了各种教程,结果在配置Android开发环境都以失败告终。最终花了很长时间才搞掂。接下来分享比较好的安装方法以及安装注意事项。 建议用中科大或清华的镜像下载在线安装器,官网的很慢。链接如下: 下载在线安装

    2024年02月13日
    浏览(67)
  • Qt 服务器/客户端TCP通讯

    最近需要用到TCP/IP通讯,这边就先找个简单的例程学习一下。Qt的TCP通讯编程可以使用QtNetwork模块,QtNetwork模块提供的类能够创建基于TCP/IP的客户端与服务端应用程序,一般会使用QTcpSocket、QTcpServer类 网络通信方式主要有两种:TCP与UDP。以下拷贝网络上总结两者之间的区别:

    2023年04月26日
    浏览(67)
  • 使用 Qt for Android 获取并利用手机传感器数据(上篇)开发环境省心搭建

    现代手机拥有许多传感器,包括地磁、姿态、GPS、光照、温度、气压、摄像、声音、电磁等,完全就是一个高度集成的科学仪器。不夸张的说,一部手机加上一个外围的计算机和控制系统,做一个功能较强的自主移动机器人并不是不可能。但是,很多APP都只是局限于自身的功

    2024年02月03日
    浏览(45)
  • 基于Qt的多线程TCP即时通讯软件的设计与实现

    本文将从涉及到主要技术开始,讲解使用Qt来实现一个支持多客户端链接的 多线程TCP服务器 及其 客户端 的设计与实现的解决方案。 注:本文使用的开发环境为Qt5.15.2, 使用MSVC2019_64编译器, C++11及以上 接下来我将会详细讲解客户端和服务端的设计与实现的关键细节。完整的源

    2024年01月16日
    浏览(47)
  • Qt开发上位机建立BLE通讯

    最近在做一个具有低功耗蓝牙 BLE 通讯功能的Windows上位机软件,在网上学习了许多 BLE 相关的知识、看了许多相关博客并参考了官方例程后总结出了使用Qt建立 BLE 通讯的步骤,附带相关源码,分享给网友 我使用的 Qt 版本是5.15,使用的 CMake 构建项目。 整体开发使用的 IDE 是

    2024年02月08日
    浏览(46)
  • Qt开发上位机软件建立经典蓝牙通讯

    之前做了一个具有经典蓝牙通讯功能的Windows上位机软件,在网上学习了相关博客以及参考了官方经典蓝牙例程之后,总结出了使用Qt建立经典蓝牙通讯的步骤,附带相关源码,作为分享 我使用的 Qt 版本是5.15,使用的 CMake 构建项目。 整体开发使用的 IDE 是 Qt Creator ,采用的方

    2023年04月17日
    浏览(36)
  • QT程序设计多人聊天室(基于QT、sqlite3、TCP/IP)

    目录 技术路线 效果展示 程序主体 sqoperator.h mylogin.h myenroll.h chatinterface.h tips.h myapp.h ******************* sqoperator.cpp mylogin.cpp myenroll.cpp chatinterface.cpp tips.cpp myapp.cpp main.cpp widget.h widget.cpp main.cpp QT程序设计、sqlite数据库调用、TCP/IP客户端与服务端的搭建 通过次程序代码,可以学习如

    2024年02月09日
    浏览(60)
  • QT6 for android 安装教程记录(版本Qt6.5.2)

    本文记录首次安装QT for andriod的详细记录。 网上的信息和资料非常多,收集和整理以及遇到的问题也各异,对新手首次接触相关开发和部署环境并不是清晰,因此,特将相关详细配置记录。 首先,开发QT for andriod 不建议使用QT5.15的版本,因为该版本不能区分相关的CPU架构,而

    2024年02月03日
    浏览(50)
  • Qt for Android代码中输出日志

    如上,加入头文件(注意:这里的头文件是QtDebug,不是QDebug,也不知道啥时候改的,也不知道有啥区别,先这样吧)后使用qInfo来输出日志,用qDebug()输出不了(妈的。。浪费老子好长时间。。一种植物)。USB线连上自己的手机后,Qt Creator里点击运行,Qt Creator底下的“应用程

    2024年02月06日
    浏览(46)
  • Qt6 for Android 环境搭建

    作者: 一去、二三里 个人微信号: iwaleon 微信公众号: 高效程序员 说起 Qt 各平台的开发环境搭建,最难的当属 Android 环境,因为要配置的东西比较多,而且配置过程很容易出现问题。例如,JDK、Android SDK、NDK 等必选工具,一旦选择的版本不匹配,就会提示各种错误。此外

    2024年01月20日
    浏览(55)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包