Witam, mam problem natury estetycznej ;P Tytułem wstepu: piszę prosty klient-serwer w Qt. na razie ma to być na konsoli, bo i tak pewnie wrzucę serwer na VPSa a klienta będę odpalał w terminalu (jeszcze nie wiem czym będzie ten program docelowo). Na razie pracuję nad samym systemem łączenia się ale to nie on sprawia mi problemy a pozornie prosty problem.
#include "Server.hpp"
Server::Server(unsigned port, QObject *parent) : port(port), QObject(parent)
{
server = new QTcpServer(this);
}
void Server::start()
{
connect(server, SIGNAL(newConnection()), this, SLOT(addClient()));
if(!server->listen(QHostAddress::Any, port))
throw ConnectionException("Nie udalo sie wystartowac serwera...");
}
void Server::stop()
{
}
void Server::addClient()
{
QTcpSocket * client = server->nextPendingConnection();
//Oczekuje na polaczenie
std::cout << "Dodano klienta (" << client->peerAddress().toString().toStdString() << ")." << std::endl;
}
Server::~Server(){}
Pierwsze co się rzuca w tym kodzie zanim się w niego zagłębimy to ta paskudna linijka z std::cout... . Chciałbym pozbyć się jakoś tej linijki ale mimo wszystko zależy mi na wyświetlaniu wiadomości. W grę wchodzi kilka możliwości:
- Stworzenie metody w tej klasie odpowiadającej za wyświetlanie komunikatów od serwera.
- Stworzenie jakiejś klasy (np. statycznej), która zajmie się komunikatami tego typu.
- Pozostawienie jak jest
- Może Qt ma jakiś mechanizm, który to obsłuży (MessageBox w grę nie wchodzi, bo jest okienkowy)
- Coś innego.
Program ma być w założeniu napisany "pro" i chcę się nauczyć dobrych nawyków, m.in. właśnie dotyczących takich "pierdół" jak komunikacja z użytkownikiem. Jak Wy rozwiązalibyście ten problem? Pzdr