[Orxonox-commit 5796] r10456 - in code/branches/multiplayerFS15/src/libraries/network: . packet

frovelli at orxonox.net frovelli at orxonox.net
Sat May 23 21:47:30 CEST 2015


Author: frovelli
Date: 2015-05-23 21:47:30 +0200 (Sat, 23 May 2015)
New Revision: 10456

Modified:
   code/branches/multiplayerFS15/src/libraries/network/LANDiscoverable.cc
   code/branches/multiplayerFS15/src/libraries/network/LANDiscovery.cc
   code/branches/multiplayerFS15/src/libraries/network/packet/ServerInformation.cc
   code/branches/multiplayerFS15/src/libraries/network/packet/ServerInformation.h
Log:
Transmit client count in LAN by evil hack

Modified: code/branches/multiplayerFS15/src/libraries/network/LANDiscoverable.cc
===================================================================
--- code/branches/multiplayerFS15/src/libraries/network/LANDiscoverable.cc	2015-05-23 17:33:37 UTC (rev 10455)
+++ code/branches/multiplayerFS15/src/libraries/network/LANDiscoverable.cc	2015-05-23 19:47:30 UTC (rev 10456)
@@ -119,7 +119,7 @@
             orxout(internal_info, context::network) << "Received LAN discovery message from client " << event.peer->host->receivedAddress << endl;
             packet::ServerInformation info;
             info.setServerName(this->ownName);
-            info.setClientNumber(this->clientNumber);
+            info.setClientNumber(5);
             info.send(event.peer);
 //             ENetPacket* packet = enet_packet_create( LAN_DISCOVERY_ACK, strlen(LAN_DISCOVERY_ACK)+1, ENET_PACKET_FLAG_RELIABLE );
 //             enet_peer_send(event.peer, 0, packet );

Modified: code/branches/multiplayerFS15/src/libraries/network/LANDiscovery.cc
===================================================================
--- code/branches/multiplayerFS15/src/libraries/network/LANDiscovery.cc	2015-05-23 17:33:37 UTC (rev 10455)
+++ code/branches/multiplayerFS15/src/libraries/network/LANDiscovery.cc	2015-05-23 19:47:30 UTC (rev 10456)
@@ -88,6 +88,9 @@
         case ENET_EVENT_TYPE_RECEIVE:
           {
             packet::ServerInformation info(&event);
+            std::string payload = info.getServerName();
+            info.setServerName(payload.substr(0,payload.length()-2));
+            info.setClientNumber( Ogre::StringConverter::parseInt(payload.substr(payload.length()-1)));
             orxout(internal_info, context::network) << "Received LAN discovery server information; Name: " << info.getServerName() << ", Address: " << info.getServerIP() << ", Players: " << info.getClientNumber() << ", RTT: " << info.getServerRTT() << endl;
             std::vector<packet::ServerInformation>::iterator it;
             for( it=this->servers_.begin(); it!=this->servers_.end(); ++it )

Modified: code/branches/multiplayerFS15/src/libraries/network/packet/ServerInformation.cc
===================================================================
--- code/branches/multiplayerFS15/src/libraries/network/packet/ServerInformation.cc	2015-05-23 17:33:37 UTC (rev 10455)
+++ code/branches/multiplayerFS15/src/libraries/network/packet/ServerInformation.cc	2015-05-23 19:47:30 UTC (rev 10456)
@@ -72,11 +72,12 @@
 
     void ServerInformation::send(ENetPeer* peer)
     {
-      uint32_t size = returnSize((char*&)LAN_DISCOVERY_ACK) + returnSize(this->serverName_);
+      std::string payload = this->serverName_ + Ogre::StringConverter::toString(this->clientNumber_);
+      uint32_t size = returnSize((char*&)LAN_DISCOVERY_ACK) + returnSize(payload);
       uint8_t* temp = new uint8_t[size];
       uint8_t* temp2 = temp;
       saveAndIncrease((char*&)LAN_DISCOVERY_ACK, temp2);
-      saveAndIncrease(this->serverName_, temp2);
+      saveAndIncrease(payload, temp2);
       ENetPacket* packet = enet_packet_create( temp, size, 0 );
       enet_peer_send(peer, 0, packet);
 

Modified: code/branches/multiplayerFS15/src/libraries/network/packet/ServerInformation.h
===================================================================
--- code/branches/multiplayerFS15/src/libraries/network/packet/ServerInformation.h	2015-05-23 17:33:37 UTC (rev 10455)
+++ code/branches/multiplayerFS15/src/libraries/network/packet/ServerInformation.h	2015-05-23 19:47:30 UTC (rev 10456)
@@ -29,7 +29,9 @@
 #include "../NetworkPrereqs.h"
 
 #include <string>
+#include <OgreStringConverter.h>
 
+
 #ifndef SERVERINFORMATION_H
 #define SERVERINFORMATION_H
 
@@ -56,9 +58,9 @@
 
       private:
         std::string   serverName_;
+        int           clientNumber_;
         std::string   serverIP_;
         uint32_t      serverRTT_;
-        int           clientNumber_;
     };
 
   }




More information about the Orxonox-commit mailing list