[solved] kryonet works on localhost, but not on different computers

I’m developing a small multiplayer game that uses kryonet. So far, it works great on the same machine (localhost), but when I tested it on another computer, the client did connect but failed to finish connecting, if that makes any sense. Poking around in the source code of kryonet shows that the client did not do anything about the TCP registration packet sent by the server, even though the client’s thread has been started.

Error:

java.net.SocketTimeoutException: Connected, but timed out during TCP registration.
Note: Client#update must be called in a separate thread during connect.
	at com.esotericsoftware.kryonet.Client.connect(Client.java:161)
	at com.esotericsoftware.kryonet.Client.connect(Client.java:110)
	at projectmp.client.ConnectingScreen$1.run(ConnectingScreen.java:28)

The connecting code:

public void connectTo(final String host, final int port){
		setMessage("Closing client (if still connected)");
		main.client.stop();
		setMessage("Attempting to connect to " + host + ":" + port);
		main.client.start();
		
		Thread connector = new Thread(){
			
			@Override
			public void run(){
				try {
					main.client.connect(5000, host, port, port);
					Main.logger.info("Successfully connected to " + host + ":" + port);
					setMessage("Connected to server; sending handshake");
					
					PacketHandshake handshake = new PacketHandshake();
					handshake.username = Main.username + "";
					handshake.version = Main.version + "";
					main.client.sendTCP(handshake);
				} catch (Exception e) {
					e.printStackTrace();
					setMessage("");
					Main.ERRORMSG.setMessage("Failed to connect:\n" + e.toString());
					main.setScreen(Main.ERRORMSG);
				}
			}
			
		};
		connector.setDaemon(true);
		connector.start();
	}

The (kryonet) client IS being started before I attempt a connection. connectTo gets called when you click the connect button (on the GL thread).

Any help is appreciated! Thanks!