void unlock(Packet* up, CommunicationTask* ct) { CommandPacket accept = CommandPacket(Type::ACCEPT); accept.sequenceNumber = up->sequenceNumber; TCPServer::SendPacket(&accept, ct->sockfd_, true); TCPServer::CloseConnection(ct->sockfd_); ServerThreads::unlockDoor(); printf("Door unlocked\n"); }
void stopMonitor(Packet* up, CommunicationTask* ct) { CommandPacket accept = CommandPacket(Type::ACCEPT); accept.sequenceNumber = up->sequenceNumber; TCPServer::SendPacket(&accept, ct->sockfd_, true); int key = ct->addr_ + (up->sequenceNumber << 19); struct clientinfo ci = monitorMap[key]; printf("Stop streaming for fd %d.\n", ci.sockfd); TCPServer::CloseConnection(ci.sockfd); monitorMap.erase(key); }
int main(int argc, char *argv[]) { UDPReceiver udpreceiver = UDPReceiver( CTL_CMD_PORT ); udpreceiver.init_connection(); while(1){ uint16_t packet_length = udpreceiver.listen(); if( packet_length != 0){ uint8_t *packet = new uint8_t[packet_length]; udpreceiver.get_packet( packet ); CommandPacket cp = CommandPacket( packet, packet_length); if (cp.valid()){ std::cout << cp << std::endl; } free(packet); } } exit(0); }
int main(int argc, char *argv[]) { UDPReceiver udpreceiver = UDPReceiver( CTL_CMD_PORT ); udpreceiver.init_connection(); while(1){ //printf("Started to listen\n"); uint16_t packet_length = udpreceiver.listen(); //printf("Finished listening. Packet length was %u\n", packet_length); if( packet_length != 0){ uint8_t *packet = new uint8_t[packet_length]; udpreceiver.get_packet( packet ); CommandPacket cp = CommandPacket( packet, packet_length); if (cp.valid()){ std::cout << cp << std::endl; } delete packet; } } exit(0); }