[Opentnl-general] BUG? TNLTest Connection reset
Brought to you by:
mark_frohnmayer,
s_alanet
From: Jochen S. <joc...@ke...> - 2008-03-10 13:57:15
|
Hi, I wrote a networked app which recently hit the 1024 ghost boundary for a single connection. The TNL doc states that the max number of ghost can easily be raised by manipulating the GhostConstants enum in tnlGhostConnection: My tnlGhostConnection.h now looks like this: enum GhostConstants { GhostIdBitSize = 16 , ///< Size, in bits, of the integer used to transmit ghost IDs GhostLookupTableSizeShift = 16, ///< The size of the hash table used to lookup source NetObjects by remote ghost ID is 1 << GhostLookupTableSizeShift. MaxGhostCount = (1 << GhostIdBitSize), ///< Maximum number of ghosts that can be active at any one time. GhostCountBitSize = GhostIdBitSize + 1, ///< Size of the field needed to transmit the total number of ghosts. GhostLookupTableSize = (1 << GhostLookupTableSizeShift), ///< Size of the hash table used to lookup source NetObjects by remote ghost ID. GhostLookupTableMask = (GhostLookupTableSize - 1), ///< Hashing mask for table lookups. }; But whenever the ghost count exceeds 1024 the client terminates its connection to server, just to immediately reconnect, drop the line again and forth. I suspect that this might be abug in the TNL because TNLTest.exe which comes with the TNL lets me reproduces the error if I increase the number of players in the game from 15 to over 1024 in the TestGame constructor, i.e. in line 578: for(TNL::S32 i = 0; i < 1500; i ++) { Player *aiPlayer = new Player(Player::PlayerTypeAI); aiPlayer->addToGame(this); } Did anyone encounter the same problem? Cheers, Jochen |