- Timestamp:
- Jul 27, 2006, 8:29:32 PM (18 years ago)
- Location:
- branches/proxy/src
- Files:
-
- 5 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/proxy/src/lib/network/message_manager.cc
r9521 r9522 227 227 outgoingMessageQueue[userId].recievedMessages.end() ) 228 228 { 229 230 // RT_ALL_BUT_ME = 1, //!< message is sent to all users but myself 231 // RT_ALL_ME, //!< message is sent to all users 232 // RT_USER, //!< message is only sent to reciever 233 // RT_NOT_USER, //!< message is sent to all but reciever 234 // RT_SERVER 235 236 // find out if this message is addressed for this client too 237 if( messageType == RT_ALL_BUT_ME || 238 messageType == RT_ALL_ME || 239 messageType == RT_USER && SharedNetworkData::getInstance()->getHostID() == destinationId || 240 messageType == RT_SERVER && SharedNetworkData::getInstance()->isMasterServer()) 241 { 242 229 243 // call the handler function and handle errors 230 if ( !(*(messageHandlerMap[(MessageType)messageType].cb))( (MessageType)messageType, data + i, messageLength, 231 messageHandlerMap[(MessageType)messageType].someData, senderId, destinationId ) ) 244 if ( !(*(messageHandlerMap[(MessageType)messageType].cb))( (MessageType)messageType, data + i, messageLength, 245 messageHandlerMap[(MessageType)messageType].someData, senderId, destinationId ) ) 246 { 247 // if the message is not handled correctly, bush it back to the incoming packets 248 NetworkMessage msg; 249 250 msg.data = new byte[messageLength]; 251 memcpy( msg.data, data + i, messageLength ); 252 msg.length = messageLength; 253 msg.messageType = (MessageType)messageType; 254 msg.number = userId; 255 msg.senderId = senderId; 256 msg.destinationId = destinationId; 257 258 incomingMessageQueue.push_back( msg ); 259 } 260 // save the serial number for ack signaling 261 outgoingMessageQueue[userId].recievedMessages.push_back( number ); 262 PRINTF(0)("<<< MessageManager: got msg with type: %i, from sender %i, to rec: %i\n", messageType, senderId, destinationId); 263 } 264 // or else forward the message to the other servers 265 else 232 266 { 233 // if the message is not handled correctly, bush it back to the incoming packets267 PRINTF(0)("===========>> Forwarding Message\n"); 234 268 NetworkMessage msg; 235 269 … … 244 278 incomingMessageQueue.push_back( msg ); 245 279 } 246 // save the serial number for ack signaling 247 outgoingMessageQueue[userId].recievedMessages.push_back( number ); 248 PRINTF(0)("<<< MessageManager: got msg with type: %i\n", messageType); 249 } 280 } 281 250 282 i += messageLength; 251 283 } -
branches/proxy/src/lib/network/network_game_manager.cc
r9521 r9522 217 217 assert( Converter::intToByteArray( uniqueId, buf, INTSIZE ) == INTSIZE ); 218 218 219 MessageManager::getInstance()->sendMessage( MSGID_DELETESYNCHRONIZEABLE, buf, INTSIZE, RT_ALL_BUT_ME, 0, MP_HIGHBANDWIDTH );219 MessageManager::getInstance()->sendMessage( MSGID_DELETESYNCHRONIZEABLE, buf, INTSIZE, RT_ALL_BUT_ME, NET_UNASSIGNED, MP_HIGHBANDWIDTH ); 220 220 } 221 221 … … 319 319 if ( (SharedNetworkData::getInstance()->isMasterServer() /*|| SharedNetworkData::getInstance()->isProxyServerActive()*/) && senderId != SharedNetworkData::getInstance()->getHostID() ) 320 320 { 321 MessageManager::getInstance()->sendMessage( messageType, data, dataLength, RT_ALL_BUT_ME, 0, MP_HIGHBANDWIDTH );321 MessageManager::getInstance()->sendMessage( messageType, data, dataLength, RT_ALL_BUT_ME, NET_UNASSIGNED, MP_HIGHBANDWIDTH ); 322 322 } 323 323 … … 360 360 361 361 if ( SharedNetworkData::getInstance()->isMasterServer() /*|| SharedNetworkData::getInstance()->isProxyServerActive()*/) 362 MessageManager::getInstance()->sendMessage( MSGID_CHATMESSAGE, buf, message.length()+3*INTSIZE, RT_ALL_ME, 0, MP_HIGHBANDWIDTH );362 MessageManager::getInstance()->sendMessage( MSGID_CHATMESSAGE, buf, message.length()+3*INTSIZE, RT_ALL_ME, NET_UNASSIGNED, MP_HIGHBANDWIDTH ); 363 363 else 364 MessageManager::getInstance()->sendMessage( MSGID_CHATMESSAGE, buf, message.length()+3*INTSIZE, RT_ALL_BUT_ME, 0, MP_HIGHBANDWIDTH );364 MessageManager::getInstance()->sendMessage( MSGID_CHATMESSAGE, buf, message.length()+3*INTSIZE, RT_ALL_BUT_ME, NET_UNASSIGNED, MP_HIGHBANDWIDTH ); 365 365 366 366 -
branches/proxy/src/lib/network/player_stats.cc
r9521 r9522 207 207 assert( Converter::stringToByteArray( nick, data, nick.length()+INTSIZE) == nick.length()+INTSIZE ); 208 208 209 MessageManager::getInstance()->sendMessage( MSGID_CHANGENICKNAME, data, nick.length()+INTSIZE, RT_SERVER, 0, MP_HIGHBANDWIDTH );209 MessageManager::getInstance()->sendMessage( MSGID_CHANGENICKNAME, data, nick.length()+INTSIZE, RT_SERVER, NET_MASTER_SERVER, MP_HIGHBANDWIDTH ); 210 210 return; 211 211 } -
branches/proxy/src/subprojects/network/network_unit_test.cc
r9508 r9522 52 52 server1 = server.getNewSocket(); 53 53 } 54 54 55 55 assert( server1->isOk() ); 56 56 … … 86 86 printf("%d bytes send from server2\n", n); 87 87 SDL_Delay(10); 88 88 89 89 server.update(); 90 90 … … 120 120 121 121 printf("data: '%s'\n", buf); 122 123 122 123 124 124 //22222222222222222222222222222222222222222 125 125 n = client1->writePacket((byte*)str1, strlen(str1)+1); … … 132 132 printf("%d bytes send from server2\n", n); 133 133 SDL_Delay(10); 134 134 135 135 server.update(); 136 136 … … 181 181 delete client2; 182 182 delete server1; 183 delete server2; 184 183 delete server2; 184 185 185 return 0; 186 186 } … … 259 259 260 260 NetworkManager* netMan = NetworkManager::getInstance(); 261 261 262 262 netMan->initialize(); 263 263 264 264 netMan->createMasterServer(/**ss, */ 9999); 265 265 266 266 SimpleSync* ss = new SimpleSync("Server"); 267 267 ss->setSynchronized( true ); 268 268 269 269 NetworkLog::getInstance()->listen( 8888 ); 270 270 271 271 //MessageManager::getInstance()->initUser( 1 ); 272 272 MessageManager::getInstance()->registerMessageHandler( TESTMESSAGEID, testCB, NULL ); 273 273 274 274 SDL_Delay(20); 275 275 276 276 for(;;) 277 277 { 278 MessageManager::getInstance()->sendMessage( TESTMESSAGEID, (byte*)"server to client", 18, RT_ALL_BUT_ME, 0, MP_HIGHBANDWIDTH );278 MessageManager::getInstance()->sendMessage( TESTMESSAGEID, (byte*)"server to client", 18, RT_ALL_BUT_ME, NET_UNASSIGNED, MP_HIGHBANDWIDTH ); 279 279 netMan->synchronize( 100 ); 280 280 SDL_Delay(100); … … 296 296 State::setOnline(true); 297 297 NetworkManager* netMan = NetworkManager::getInstance(); 298 298 299 299 300 300 netMan->initialize(); 301 301 302 302 std::string host; 303 303 304 304 if ( argc > 2 ) 305 305 host = argv[2]; 306 306 else 307 307 host = "localhost"; 308 308 309 309 netMan->createClient(host, 9999); 310 310 311 311 // SimpleSync* ss = new SimpleSync("SimpleSync"); 312 312 // ss->setSynchronized( true ); 313 313 // netMan->connectSynchronizeable( *ss ); 314 314 315 315 NetworkLog::getInstance()->listen( 7777 ); 316 316 317 317 SimpleSync * ss = NULL; 318 318 319 319 //MessageManager::getInstance()->initUser( 0 ); 320 320 MessageManager::getInstance()->registerMessageHandler( TESTMESSAGEID, testCB, NULL ); 321 321 322 322 for(;;) 323 323 { 324 324 netMan->synchronize( 100 ); 325 MessageManager::getInstance()->sendMessage( TESTMESSAGEID, (byte*)"client to server", 18, RT_ALL_BUT_ME, 0, MP_HIGHBANDWIDTH );325 MessageManager::getInstance()->sendMessage( TESTMESSAGEID, (byte*)"client to server", 18, RT_ALL_BUT_ME, NET_UNASSIGNED, MP_HIGHBANDWIDTH ); 326 326 ss = dynamic_cast<SimpleSync*>(ClassList::getObject( "Server", CL_SIMPLE_SYNC ) ); 327 327 SDL_Delay(100); -
branches/proxy/src/world_entities/spawning_point.cc
r9521 r9522 213 213 assert( Converter::intToByteArray( uniqueId, buf + INTSIZE, INTSIZE ) == INTSIZE ); 214 214 215 MessageManager::getInstance()->sendMessage( MSGID_RESPAWN, buf, 2*INTSIZE, RT_ALL_BUT_ME, 0, MP_HIGHBANDWIDTH );215 MessageManager::getInstance()->sendMessage( MSGID_RESPAWN, buf, 2*INTSIZE, RT_ALL_BUT_ME, NET_UNASSIGNED, MP_HIGHBANDWIDTH ); 216 216 } 217 217
Note: See TracChangeset
for help on using the changeset viewer.