void ServerProcedures::update() { if (network->acceptNewClient(client_id)) { printf("client %d has been connected to the server\n", client_id); sendInitPacket(); if (client_id % 2 == 1) { this->sendStartGamePackets(); } //TODO: only to test here if (client_id == 0) { srand(time(NULL)); this->bitmapId1 = (std::rand() % 7) + 112; this->bitmapId2 = (std::rand() % 7) + 112; this->bitmapId3 = (std::rand() % 7) + 112; this->bitmapId4 = (std::rand() % 7) + 112; } client_id++; } receiveFromClients(); }
void Transmitter::prepare() { #ifdef REN_DEBUG qWarning("void Transmitter::prepare()"); #endif sendInitPacket(); tx = true; // renyang - 開始讓Record開始執行 emitSignal(SIGNAL_START); }
void Transmitter::prepare() { switch(status) { case TRANSMITTER_STATUS_NORMAL: status = TRANSMITTER_STATUS_WAITING; default: sendInitPacket(); changeStatus(status); break; } transmitting = true; }
void ServerProcedures::receiveFromClients() { Packet packet; std::map<unsigned int, SOCKET>::iterator iter; for (iter = network->sessions.begin(); iter != network->sessions.end(); iter++) { int data_length = network->receiveData(iter->first, network_data); if (data_length <= 0) { //no data recieved continue; } int i = 0; while (i < (unsigned int)data_length) { packet.deserialize(&(network_data[i])); i += sizeof(Packet); switch (packet.packet_type) { case INIT_CONNECTION: sendInitPacket(); break; case MESSAGE_EVENT: printf("server received message event packet from client: "); std::cout << packet.message; printf("\n"); sendMessagePackets(packet.message,packet.client_id); break; case GAME_EVENT: DataProcessing(packet); break; default: printf("error in packet types\n"); break; } } } }