#include "tcp_terminal_client.h" #include #include TCP_Terminal_Client::TCP_Terminal_Client(QObject *parent) : QObject(parent) { this->soc = new QTcpSocket(); this->ServerProc = new QProcess(); } void TCP_Terminal_Client::connectToServer(const QString &IP, int port) { int timeout=60; if(this->soc->state()==QTcpSocket::UnconnectedState) { this->soc->connectToHost(IP,port); this->soc->waitForConnected(30000); while(this->soc->state()!=QTcpSocket::ConnectedState) { usleep(100000); if(timeout--==0)break; } } } void TCP_Terminal_Client::connectToServer() { this->connectToServer("127.0.0.1",2000); } bool TCP_Terminal_Client::isConnected() { return(this->soc->state()==QTcpSocket::ConnectedState); } void TCP_Terminal_Client::sendText(const QString &text) { soc->write(text.toLatin1()); soc->flush(); } void TCP_Terminal_Client::startServer() { if(this->ServerProc->state()==QProcess::NotRunning) { this->ServerProc->start(qApp->applicationDirPath()+"/SocExplorer_TCP_Terminal"); this->ServerProc->waitForStarted(30000); usleep(500000); } } void TCP_Terminal_Client::startServer(int port) { if(this->ServerProc->state()==QProcess::NotRunning) { this->ServerProc->start(qApp->applicationDirPath()+"/SocExplorer_TCP_Terminal --port "+QString::number(port)); this->ServerProc->waitForStarted(30000); usleep(500000); } }