⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 serverthread.cpp

📁 Android实现远程控制PC源代码
💻 CPP
字号:
#include "serverthread.h"
#include <QFile>
#define COMMAND_SIZE 50
ServerThread::ServerThread(int socketDescriptor,QObject *parent,MainWindow *m,int c):QThread(parent)
{
    this->mainWindow=m;
    this->clientCode=c;
    socket=new QTcpSocket(parent);
    socket->setSocketDescriptor(socketDescriptor);
}

void ServerThread::run()
{
    this->connect(socket,SIGNAL(readyRead()),this,SLOT(receiveData()));
    connect(this,SIGNAL(newCommand(const char*,int,const char*,int)),this->mainWindow,SLOT(execCommand(const char*,int,const char*,int)));
    connect(this->mainWindow,SIGNAL(writeFile(int)),this,SLOT(readFile(int)));
    exec();
}

void ServerThread::receiveData()
{
    int left=socket->bytesAvailable();
    char *command=new char[COMMAND_SIZE];
    while(left>0)
    {
        int read=socket->readLine(command,COMMAND_SIZE);
        emit newCommand(command,read,"test",this->clientCode);
        left-=read;
    }
}

void ServerThread::readFile(int cC)
{
    if(cC==this->clientCode)
    {
        QFile *file=new QFile("temp.txt");
        if(file->open(QIODevice::ReadWrite))
        {
            char *buffer=new char[100];
            int length;
            while((length=file->read(buffer,100))>0)
            {
                socket->write(buffer,length);
            }
        }
        socket->flush();
        file->close();
        system("del temp.txt");
    }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -