码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 随手写的小程序2 一个nc能控制的程序


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

    请下载 Qt 5.12.12

    server.pro :

    1. QT += gui network
    2. CONFIG += c++11 console
    3. CONFIG -= app_bundle
    4. # You can make your code fail to compile if it uses deprecated APIs.
    5. # In order to do so, uncomment the following line.
    6. #DEFINES += QT_DISABLE_DEPRECATED_BEFORE=0x060000 # disables all the APIs deprecated before Qt 6.0.0
    7. SOURCES += \
    8. main.cpp \
    9. mythread.cpp \
    10. server.cpp
    11. # Default rules for deployment.
    12. qnx: target.path = /tmp/$${TARGET}/bin
    13. else: unix:!android: target.path = /opt/$${TARGET}/bin
    14. !isEmpty(target.path): INSTALLS += target
    15. HEADERS += \
    16. mythread.h \
    17. server.h

    mythread.h :

    1. #ifndef MYTHREAD_H
    2. #define MYTHREAD_H
    3. #include
    4. #include
    5. #include
    6. #include
    7. class myThread : public QThread
    8. {
    9. Q_OBJECT
    10. public:
    11. myThread(qintptr ID,QObject *parent = 0);
    12. qintptr sockethandle;
    13. QTcpSocket *socket;
    14. void run();
    15. QProcess *process;
    16. public slots:
    17. void readyRead();
    18. void disconnected();
    19. void fun();
    20. };
    21. #endif // MYTHREAD_H

    server.h :

    1. #ifndef SERVER_H
    2. #define SERVER_H
    3. #include
    4. #include "mythread.h"
    5. class Server : public QTcpServer
    6. {
    7. public:
    8. Server();
    9. void startServer();
    10. protected:
    11. void incomingConnection(qintptr handle);
    12. };
    13. #endif // SERVER_H

    mythread.cpp :

    1. #include "mythread.h"
    2. myThread::myThread(qintptr ID,QObject *parent):QThread(parent)
    3. {
    4. sockethandle = ID;
    5. process = new QProcess(this);
    6. connect(process,SIGNAL(readyReadStandardOutput()),this,SLOT(fun()));
    7. }
    8. void myThread::run()
    9. {
    10. qDebug() << sockethandle;
    11. socket = new QTcpSocket(this);
    12. socket->setSocketDescriptor(sockethandle);
    13. connect(socket,SIGNAL(readyRead()),this,SLOT(readyRead()));
    14. connect(socket,SIGNAL(disconnected()),this,SLOT(disconnected()));
    15. exec();
    16. }
    17. void myThread::readyRead()
    18. {
    19. QByteArray data = socket->readAll();
    20. qDebug() << data;
    21. process->start("bash");
    22. process->write(data);
    23. }
    24. void myThread::disconnected()
    25. {
    26. socket->deleteLater();
    27. exit(0);
    28. }
    29. void myThread::fun()
    30. {
    31. socket->write(process->readAllStandardOutput().data());
    32. }

    server.cpp :

    1. #include "server.h"
    2. Server::Server()
    3. {
    4. }
    5. void Server::incomingConnection(qintptr handle)
    6. {
    7. myThread *thread = new myThread(handle);
    8. thread->start();
    9. }
    10. void Server::startServer()
    11. {
    12. if(this->listen(QHostAddress::Any,1984)){qDebug() << "Listen ...";}
    13. }

    main.cpp :

    1. #include
    2. #include "server.h"
    3. int main(int argc, char *argv[])
    4. {
    5. QCoreApplication a(argc, argv);
    6. Server ser;
    7. ser.startServer();
    8. return a.exec();
    9. }

  • 相关阅读:
    Centos7安装jdk8以及mysql5.7以及Navicat连接虚拟机mysql的出错以及解决方法(附mysql下载出错解决办法)
    Github上面的这个Nacos2.1多数据库集成适配项目真心不错:Nacos-MultiDataSource
    Ubuntu指令说明
    陕西CAS:1244028-50-9_Biotin-PEG3-SCO-PPh3 固体
    【Designing ML Systems】第 1 章 :机器学习系统概述
    【Leetcode】python回溯算法结果出现[[], [], []](列表深拷贝 浅拷贝问题)
    【云原生 • Kubernetes】命令行工具 kubectl 介绍及命令汇总
    还是 “月饼” 后续,玩转炫彩 “月饼” 之 问题说明(送开发板)
    LeetCode 1465. 切割后面积最大的蛋糕
    【数模研赛思路】2023华为杯研究生数学建模竞赛选题建议及CDEF题思路
  • 原文地址:https://blog.csdn.net/nn_84/article/details/136161023
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号