Commit 03847a9b authored by Max-Wilhelm Bruker's avatar Max-Wilhelm Bruker
Browse files

fixed socket bug and simplified readClient()

parent b4fd5797
......@@ -2,13 +2,12 @@
#include "client.h"
Client::Client(QObject *parent)
: QObject(parent)
: QObject(parent), MsgId(0)
{
timer = new QTimer(this);
timer->setInterval(1000);
connect(timer, SIGNAL(timeout()), this, SLOT(checkTimeout()));
MsgId = 0;
status = StatusDisconnected;
socket = new QTcpSocket(this);
socket->setTextModeEnabled(true);
......
......@@ -20,6 +20,7 @@
#include <QCoreApplication>
#include <QTextCodec>
#include "server.h"
int main(int argc, char *argv[])
......@@ -27,6 +28,8 @@ int main(int argc, char *argv[])
QCoreApplication app(argc, argv);
app.setOrganizationName("Cockatrice");
app.setApplicationName("Servatrice");
QTextCodec::setCodecForCStrings(QTextCodec::codecForName("UTF-8"));
Server server;
if (!server.openDatabase()) {
......
......@@ -142,25 +142,11 @@ void ServerSocket::leaveGame()
void ServerSocket::readClient()
{
QTextStream *stream = new QTextStream(this);
stream->setCodec("UTF-8");
QStringList lines;
// Before parsing, everything has to be buffered so that the stream
// can be deleted in order to avoid problems when moving the object
// to another thread while this function is still running.
for (;;) {
QString line = stream->readLine();
while (canReadLine()) {
QString line = QString(readLine()).trimmed();
if (line.isNull())
break;
lines << line;
}
delete stream;
QStringListIterator i(lines);
while (i.hasNext()) {
QString line = i.next();
qDebug(QString("<<< %1").arg(line).toLatin1());
switch (PlayerStatus) {
case StatusNormal:
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment