# Verbindung über Sockets



## Guest (23. Apr 2007)

Hi!

Ich versuche einen Server für ein Spiel aufzubauen, das ganze klappt soweit auch, 
wenn ich das ganze über den localhost bzw 127.0.0.1 teste. 
Wenn ich dann das ganze im netzwerk laufen lassen will, kann sich der Client nicht mit dem Server connecten... 
hier mal den Quellcode:

Client-Methode um mit dem Server zu verbinden


```
private boolean connect(int port){
		gui.setLogMsg(Source_Statics.MSG_CONNECTING);
		try{
			this.server = new Socket(serverIP, Source_Statics.SYS_CONNECTING_PORT);
			gui.setLogMsg(Source_Statics.MSG_CONNECTION_SUCCESS);
			alive = true;
			horche.start();
		}catch(Exception e){
			gui.setLogMsg(Source_Statics.MSG_CONNECTION_ERR);
			return false;
		}
		return true;
	}
```

Server-Methode horcht auf den Client


```
try{
	        server = new ServerSocket(Source_Statics.SYS_CONNECTING_PORT);
		while(true){
			spieler[anzClient] = server.accept();
			plList.add(spieler[anzClient].toString());
			log.add("erhöhe anzClient um 1: "+ (++anzClient));
			new Thread(){
				public void run(){log.add("Beginne Horchen auf spieler[" + (anzClient-1) + "]");
								  horche(anzClient-1);}
			}.start();
		}
	}catch(Exception e){log.add("Exception in Thread getClients");}
```


----------



## The_S (24. Apr 2007)

Wenn über localhost geht, geht auch von nem anderen Rechner. IP richtig (evtl. hängt ein Router mit NAT dazwischen), Firewall blockiert, ...?

Definiere "will sich nicht mehr verbinden". Was genau geht nicht? Exception?


----------



## Guest (25. Apr 2007)

Hab den Fehler entdeckt... 

ja er hat ne Exception geworfen und nach näherem Untersuchen habe ich dann die Ursache gefunden:
In einem der Konstruktoren habe ich vergessen die Zuweisung des IP-Strings zu machen, wodurch er beim Verbinden einen null-String hatte, was dann wiederum die Exception geworfen hat...
   

Trotzdem Danke...


----------

