January 2016
Beginner
512 pages
12h 35m
English
In the constructor, we have connected the socket's readyRead() signal to a local slot. So, whenever the server sends a message through QTcpSocket::write(), we read the data and display it in the chat window:
m_receivedData.append(m_socket->readAll());
if (!m_receivedData.contains(QChar(23)))
return;
QStringList messages = m_receivedData.split(QChar(23));
m_receivedData = messages.takeLast();
foreach (const QString &message, messages) {
ui->chat->insertPlainText(message + "\n");
}As you already know, QTcpSocket inherits QIODevice, so we use QIODevice::readAll() to get the entire text that was sent. Next, we store the received data and determine whether the message was transmitted completely. This approach ...