From 30c36b7549f8ae411f8eca4de144627331895a24 Mon Sep 17 00:00:00 2001 From: totycro Date: Mon, 11 Apr 2011 11:51:16 +0200 Subject: First parameter for client is server ip Added asserts to confirm that packets were parsed correctly --- pacman-c++/mainwidget.cpp | 15 ++++++++++++--- pacman-c++/server.cpp | 5 ++++- 2 files changed, 16 insertions(+), 4 deletions(-) (limited to 'pacman-c++') diff --git a/pacman-c++/mainwidget.cpp b/pacman-c++/mainwidget.cpp index b69e0c0..6c4012e 100644 --- a/pacman-c++/mainwidget.cpp +++ b/pacman-c++/mainwidget.cpp @@ -149,7 +149,8 @@ void MainWidget::tick() //qDebug() << "read str " << dataStr.length(); ProtoBuf::MapUpdate packet; - packet.ParseFromString(dataStr); + bool worked = packet.ParseFromString(dataStr); + Q_ASSERT(worked); Transmission::map_t map = Util::createUninitialisedMap(); Q_ASSERT(packet.field_size() == (int) (Constants::map_size.width * Constants::map_size.height)); int i = 0; @@ -229,8 +230,14 @@ void MainWidget::playerScoreClicked() Color::Color MainWidget::connectToServer() { + // check command line arguments for server port + const QStringList &args = QCoreApplication::arguments(); + QString srv = args.value(1, "127.0.0.1"); + qDebug() << "srv: " << srv; + + // connect to server m_socket = new QTcpSocket(this); - m_socket->connectToHost("127.0.0.1", Constants::port); + m_socket->connectToHost(srv, Constants::port); bool worked = m_socket->waitForConnected(Constants::connection_timeout); if (worked) { @@ -239,10 +246,12 @@ Color::Color MainWidget::connectToServer() worked = m_socket->waitForReadyRead(); if (worked) { + // receive color std::string data; Util::QByteArrayToStdString(m_socket->readAll(), data); ProtoBuf::WhoAmI packet; - packet.ParseFromString(data); + Q_ASSERT(worked); + bool worked = packet.ParseFromString(data); return static_cast(packet.color() & Transmission::color_mask); } } diff --git a/pacman-c++/server.cpp b/pacman-c++/server.cpp index e7dd943..ba2b3c9 100644 --- a/pacman-c++/server.cpp +++ b/pacman-c++/server.cpp @@ -137,6 +137,8 @@ void Server::waitForClientConnections() ProtoBuf::WhoAmI packet; packet.set_color(color); Util::sendPacket(packet, socket); + + qDebug() << "new player of col " << color; } } @@ -164,7 +166,8 @@ void Server::keyPressUpdate() std::string dataStr; Util::QByteArrayToStdString(socket->readAll(), dataStr); ProtoBuf::KeyPressUpdate packet; - packet.ParseFromString(dataStr); + bool worked = packet.ParseFromString(dataStr); + Q_ASSERT(worked); Transmission::field_t direction = packet.newkey(); qDebug() << "data:" << direction; m_actorMovements[color] = Util::transmissionMovementToActor(direction); -- cgit v1.2.3