# Connection refused bei localhost?!



## 0din (19. Aug 2009)

Hallo,
ich gehör zu den anfänger auf dem netzwerk gebiet un wundere mich grade ein wenig über folgende Exception:


```
java.net.ConnectException: Connection refused: connect
	at java.net.PlainSocketImpl.socketConnect(Native Method)
	at java.net.PlainSocketImpl.doConnect(Unknown Source)
	at java.net.PlainSocketImpl.connectToAddress(Unknown Source)
	at java.net.PlainSocketImpl.connect(Unknown Source)
	at java.net.SocksSocketImpl.connect(Unknown Source)
	at java.net.Socket.connect(Unknown Source)
	at java.net.Socket.connect(Unknown Source)
	at java.net.Socket.<init>(Unknown Source)
	at java.net.Socket.<init>(Unknown Source)
	at nw.NotServer.<init>(NotServer.java:17)
	at nw.Startup.main(Startup.java:12)
```

nun stellt sich mir die unweigerliche frage, wodran kann es liegen das mein programm keine lust hat auf meinen localhost einen socket zu erstelln?

der code is wie folgt:

```
Socket so;

		try
		{
			so = new Socket("localhost", 1234);  //<-- Zeile 17
		}
		catch (IOException e)
		{
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
```

und nun der witz an der klamotte, im prinzip is das ganze (wenn auch leicht verändert) eine kopie aus dem FAQ hier ausm forum, also da is au keine lösung zu finden.


----------



## Illuvatar (19. Aug 2009)

Gibt es irgendein Programm, das schon auf Port 1234 "lauscht"? Wenn nicht, dann kannst du da natürlich keine Verbindung herstellen.


----------



## sparrow (19. Aug 2009)

Auf die beschriebene Weise erstellst du keinen Socket sondern willst zu einem Verbinden.
Stichwort Socket erstellen (um darauf zu lauschen): ServerSocket


----------



## tuxedo (19. Aug 2009)

0din hat gesagt.:


> Hallo,
> nun stellt sich mir die unweigerliche frage, wodran kann es liegen das mein programm keine lust hat auf meinen localhost einen socket zu erstelln?



@Sparrow
Naja, streng genommen tut man das aber so. Denn eine TCP/IP Verbindung hat auf beiden Seiten einen Socket. Nur nennt sich die verbindungaufbauende Seite in Java "Socket", und die aufVerbindungWartende Seite "ServerSocket".


@0din
Wie ja shcon erwähnt wurde versuchst du mit dem Code eine Verbindung herzustellen. Nun stellt sich einem unweigerlich die Frage:

Willst du eine Verbindung zu einem Server herstellen, oder willst du einen Server basteln?

- Alex


----------



## 0din (19. Aug 2009)

Nein, localhost is ungenutzt


Die klasse soll eine verbindung zum localhost:1234 herstellen un darauf liegt nen ServerSocket (in zwei seperaten threads)

ich geb euch mal den code der ganze klasse

```
private Socket so;
	private BufferedWriter br;

	public NotServer()
	{
		try
		{
			so = new Socket("localhost", 1234); //<-- Hier fliegt die Exception
			br = new BufferedWriter(new OutputStreamWriter(so.getOutputStream()));
		}
		catch (IOException e)
		{
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
	}

	public void schickWas(String st)
	{
		try
		{
			br.write(st);
			br.newLine();
			br.flush();
			br.close();
		}
		catch (IOException e)
		{
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
	}
```

Ich hab zwar nich die meiste ahnung aber eig sollte doch, solange der port etc frei ist, das ganze laufen


----------



## sparrow (19. Aug 2009)

Dann starte doch mal den Server Socket, gehe in eine Konsole (Eingabeaufforderung).
Dort machst du ein 
	
	
	
	





```
telnet localhost 1234
```
Funktioniert auch das nicht lauscht da kein ServerSocket, also liegt da der Fehler.


----------



## 0din (19. Aug 2009)

Ok, damit wäre der fehler gefunden... 
den teil in dem steht "Erst ServerSocket dann Socket, du Noob!" hab ich wohl nich gesehn 

wenn ich erst den ServerSocket anmache, dasser lauscht, mag das ding auch die verbindung herstellen un schickn

Herzlichn Danke


----------



## ARadauer (19. Aug 2009)

wenn dein server läuft und es geht trotzdem nicht... firewall?


----------

