...
Code Block |
---|
#include "tcp_client.h"
TCPClient::TCPClient()
{
client = new QxtRPCPeer();
/// Oletus IP, johon yhdistetään mikäli käyttäjä ei syötä IP:tä
hostIp = "127.0.0.1";
/// Oletusportti johon yhdistetään
hostPort = 45123;
/// Ollaanko yhteydessä? Oletuksena false
connected = false;
/// Jotta signaaleihin voidaan yhdistää QVector-tyyppisiä parametreja, on ne määrittettävä seuraavasti
qRegisterMetaTypeStreamOperators< QVector<QString> >("QVector<QString>");
/// Liitetään signaalit slotteihin
connect(this->client, SIGNAL(connectedToServer()), this, SLOT(connectionEstablished()));
connect(this->client, SIGNAL(serverError(QAbstractSocket::SocketError)), this, SLOT(connectionError()));
/// attachSignal-funktio kapseloi signaalin muotoon, jossa se voidaan lähettää verkkoyhteyden yli
/// Funktion QString-parametri on tunniste, jolla signaali tunnistetaan serverin puolella ja
/// pystytään yhdistämään tiettyyn slottiin.
client->attachSignal(this, SIGNAL(sendSignal(QVector<QString>)), QString("signal1"));
}
TCPClient::~TCPClient()
{
delete client;
}
void TCPClient::connectToServer()
{
client->connect(this->hostIp, this->hostPort);
}
void TCPClient::connectToServer(QString ip, int port)
{
client->connect(ip, port);
}
void TCPClient::disconnectFromServer()
{
client->disconnectServer();
connected = false;
}
void TCPClient::sendData(QVector<QString> data)
{
emit sendSignal(data);
}
void TCPClient::connectionEstablished()
{
connected = true;
qDebug() << "connected";
}
void TCPClient::connectionError()
{
qDebug() << "connection error";
}
|
...