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);
}
Exemple #3
0
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);
}
Exemple #4
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);
}