33 #include <QApplication>
36 #include "trm/JsonEncoder.h"
37 #include "trm/JsonDecoder.h"
39 #include "Connection.h"
44 Client::Client (
const char *ipaddress,
int portNumber)
46 Client(QHostAddress(ipaddress), portNumber);
49 Client::Client(
const QHostAddress &address, quint16 port)
51 qDebug() <<
"Creating client\r\n";
52 std::cout << (
"Connecting To Server ...");
54 tcpSocket.connectToHost(address, port);
56 std::flush(std::cout);
58 }
while(!tcpSocket.waitForConnected(1000));
61 QObject::connect(connection, SIGNAL(disconnected(
Connection *)),
this, SLOT(onDisconnected(
Connection *)));
62 QObject::connect(connection, SIGNAL(messageReceived(
const Connection &)),
this, SLOT(onMessageReceived(
const Connection &)));
68 printf(
"Deleting client\r\n");
71 if (connection != 0) {
72 printf(
"Deleting connection\r\n");
77 void Client::onDisconnected(
Connection *_connection)
79 _connection = _connection;
80 printf(
"CLIENT CONNEC is disconnected\r\n");
85 void Client::onMessageReceived(
const Connection &fromConnection)
87 QByteArray incomingMessageArray;
88 fromConnection.recvMessage(incomingMessageArray);
89 std::vector<uint8_t> headerBytes (incomingMessageArray.data(), incomingMessageArray.data() + Header::kHeaderLength);
90 std::vector<uint8_t> payloadBytes (incomingMessageArray.data() + Header::kHeaderLength, incomingMessageArray.data() + incomingMessageArray.size());
92 header.deserialize(headerBytes);
93 JsonDecoder jdecoder(getMessageProcessor(header.getClientId()));
94 jdecoder.decode(payloadBytes);