<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:

def start(self):
        '''start sending packets'''
        if self.sock is not None:
            self.sock.close()
        self.sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM, socket.IPPROTO_UDP)
        self.sock.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)
        self.sock.connect(('', gen_settings.port))

        global track_count
        self.aircraft = []
        track_count = 0
        self.last_t = 0

        # some fixed wing aircraft
        for i in range(gen_settings.num_aircraft):
            self.aircraft.append(Aircraft(random.uniform(10, 100), 2000.0))

        # some birds of prey
        for i in range(gen_settings.num_bird_prey):
            self.aircraft.append(BirdOfPrey())

        # some migrating birds
        for i in range(gen_settings.num_bird_migratory):
            self.aircraft.append(BirdMigrating())

        # some weather systems
        for i in range(gen_settings.num_weather):
            self.aircraft.append(Weather())
        print("Started on port %u" % gen_settings.port)