Exemple #1
0
    print '\nextarnal ip: ' + external_ip

    #TODO: maybe use separate socket for user creation
    
    main_socket = socket.socket()
    main_socket.bind(('', 4590))
    my_ip, my_port = main_socket.getsockname()
    print 'internal endpoint: ' + my_ip + ':' + str(my_port)
    print '\n\n------------\n'
    main_socket.listen(5)
    
    connections = [main_socket]
    users_sockets = {} # { 'username': [active socket, sleeping socket1, ..., sleeping socketN] }
    should_exit = False
    db = Database.Database()
    MessageParser.init(db, users_sockets)
    
    t = threading.Thread(target=server_thread)
    t.start()
    
    new_connections_listener()
    
    print 'unloading resources...'
    t.join()
    for con in connections:
        con.close()
    for socks in users_sockets.values():
        socks.close()
    main_socket.close()
    db.close()