Пишу Tcp сервер. Вывел Tcp Server на другой файл. Как правильно сделать connect для соединений и для чтений?
tcpserver.h#ifndef TCPSERVER_H
#define TCPSERVER_H
#include <QTcpServer>
#include <QTcpSocket>
#include <QTextBrowser>
class TcpServer
{
public:
TcpServer();
QTextBrowser *terminal;
public slots:
void Start();
void NewConnection();
void ReadData();
void Stop();
private:
QTcpServer *server;
QTcpSocket *socket;
};
#endif // TCPSERVER_H
tcpserver.cpp#include <QTcpServer>
#include <QFile>
TcpServer::TcpServer()
{
// connect(&server, SIGNAL(newConnection()), this, SLOT(newConnection()));
}
void TcpServer::Start()
{
server=new QTcpServer();
if(!server->listen(QHostAddress::Any, 12001))
{
qDebug() << "server is not started";
} else {
qDebug() << "server is started";
terminal->append("TCP\\IP успешно запущен!");
}
}
void TcpServer::NewConnection()
{
socket = server->nextPendingConnection();
socket->write("Hello, World!!! I am echo server!\r\n");
}
void TcpServer::ReadData()
{
QByteArray static data;
while(socket->bytesAvailable()>0)
{
QByteArray array = socket->readAll();
socket->write(array);
data+=array;
qDebug()<<array;
terminal->append(array);
}
QFile file("LogTcp.txt");
if(file.open(QIODevice::Append))
{ //Если первый файл открыт для чтения, а второй для записи успешн
file.write("\r\n" +data + "\r\n"); // Записываем 10 байт в файл fileout.txt
file.close(); // Закрываем fileout.txt
}
}
void TcpServer::Stop()
{
server->close();
}
Запуск сервера в mainwindow:
void MainWindow::on_actionStartServerTcp_triggered()
{
TcpServer *server=new TcpServer();
server->terminal=ui->terminal;
server->Start();
}
Как правильно сделать connect для newconnection и ReadData()?
Плохо разбираюсь в сигналах и слотах.