Socket Chat-Client-Problem

Muddyfox87

Mitglied
Hallo liebes Forum! Ich bin neu hier und habe gleich mal eine wichtige Frage an euch. Undzwar habe ich den Chat-Client vom Buch "Java - Von Kopf bis Fuß" nachgebaut, bekomme jetzt aber diesen fehler angezeigt:

attachment.php


den port 4242 und auch 5000 habe ich unter windows 7 per tcp/udp geöffnet, genauso wie beim router.

hier mal der ganze java-code:

TippDesTagesClient.java
Java:
import java.io.*; 
import java.net.*; 

public class TippDesTagesClient { 

	public void los() { 
		try { 
			Socket s = new Socket("http://127.0.0.1", 4242); 

			InputStreamReader streamReader = new InputStreamReader(s.getInputStream()); 
			BufferedReader reader = new BufferedReader (streamReader); 

			String tipp = reader.readLine(); 
			System.out.println("Tipp des Tages: " + tipp); 

			reader.close(); 

		} catch(IOException ex) { 
		  ex.printStackTrace(); 
		}
	} 

	public static void main(String[] args) { 
		TippDesTagesClient client = new TippDesTagesClient(); 
		client.los(); 
	} 
}

EinfacherChatClientA.java
Java:
import java.awt.BorderLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.IOException; 
import java.io.PrintWriter; 
import java.net.Socket; 

import javax.swing.JButton; 
import javax.swing.JFrame; 
import javax.swing.JPanel; 
import javax.swing.JTextField; 


public class EinfacherChatClientA { 

	JTextField ausgehend; 
	PrintWriter writer; 
	Socket sock; 

public static void main(String[] args) { 
	EinfacherChatClientA client = new EinfacherChatClientA(); 
	client.los(); 
} 

public void los() { 
	JFrame frame = new JFrame ("Lächerlich einfacher Chat-Client"); 
	JPanel hauptPanel = new JPanel () ; 
	ausgehend = new JTextField(20); 
	JButton sendenButton = new JButton ("Senden"); 
	sendenButton.addActionListener(new SendenButtonListener()); 
	hauptPanel.add(ausgehend); 
	hauptPanel.add(sendenButton); 
	netzwerkEinrichten(); 
	frame.getContentPane().add(BorderLayout.CENTER, hauptPanel); 
	frame.setVisible(true); 
	frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 
} 

private void netzwerkEinrichten() { 
	try { 
			sock = new Socket("http://127.0.0.1", 4242); 
			writer = new PrintWriter(sock.getOutputStream()); 
			System.out.println("Netzwerkverbindung steht"); 
	} catch (IOException ex) { 
	  ex.printStackTrace(); 
	} 
} 
private class SendenButtonListener implements ActionListener { 
	public void actionPerformed(ActionEvent ev) { 
	try{ 
			writer.println(ausgehend.getText()); 
			writer.flush(); 

		} catch(Exception ex) { 
		  ex.printStackTrace(); 
		} 
		ausgehend.setText(""); 
		ausgehend.requestFocus(); 
		} 
	} 
}

TippDesTagesServer.java
Java:
import java.io.*;
import java.net.*;

public class TippDesTagesServer {

String[] tippListe = {"Essen Sie weniger Chips und Gummibärchen.", "Holen Sie sich die engen Jeans. Nein, Sie sehen darin NICHT dick aus.", "Mit einem Wort: unmöglich!","Seien Sie ehrlich, nur heute. Sagen Sie Ihrem Chef, was sie *wirklich* denken.","Sie sollten wirklich mal wieder zum Friseur gehen..."};

	public void los() {
		try{
			
			ServerSocket serverSock = new ServerSocket(4242);
			
			while(true) {
				Socket sock = serverSock.accept();
				
				PrintWriter writer = new PrintWriter(sock.getOutputStream());
				String tipp = getTipp();
				writer.println(tipp);
				writer.close();
				System.out.println(tipp);
			}
			
		} catch(IOException ex) {
		  ex.printStackTrace();
		}
	} // los() schließen
	
	private String getTipp() {
		int zufallszahl = (int) (Math.random() * tippListe.length);
		return tippListe[zufallszahl];
	}
	
	public static void main(String[] main) {
		TippDesTagesServer server = new TippDesTagesServer();
		server.los();
	}
}

SehrEinfacherChatServer.java
Java:
import java.io.*;
import java.net.*;
import java.util.*;

public class SehrEinfacherChatServer {

	ArrayList<PrintWriter> clientAusgabeStröme;
	
	public class ClientHandler implements Runnable {
		BufferedReader reader;
		Socket sock;
		
		public ClientHandler (Socket clientSocket) {
			try {
				sock = clientSocket;
				InputStreamReader isReader = new InputStreamReader (sock.getInputStream());
				reader = new BufferedReader(isReader);
			
			} catch(Exception ex) {ex.printStackTrace();}
		} // Konstruktor schließen
		
		public void run() {
			String nachricht;
			try {
				while ((nachricht = reader.readLine()) !=null) {
					System.out.println("gelesen: " + nachricht);
					esAllenWeitersagen(nachricht);
				} // Ende der while-Schleife
			} catch(Exception ex) {ex.printStackTrace();}
		} // run schließen
	} // innere Klasse schließen
	
	public static void main (String[] args) {
		new SehrEinfacherChatServer().los();
	}
	
	public void los() {
		clientAusgabeStröme = new ArrayList<PrintWriter>();
		
		try {
			ServerSocket serverSock = new ServerSocket(4242);
			
			while(true) {
				Socket clientSocket = serverSock.accept();
				PrintWriter writer = new PrintWriter(clientSocket.getOutputStream());
				clientAusgabeStröme.add(writer);
				Thread t = new Thread(new ClientHandler(clientSocket));
				t.start();
				System.out.println("habe eine Verbindung");
			}
			// wenn wir hier angelangt sind, haben wir eine Verbindung
		
		}catch(Exception ex) {
		 ex.printStackTrace();
		}
	}
	
	public void esAllenWeitersagen(String nachricht) {
		
		Iterator<PrintWriter> it = clientAusgabeStröme.iterator();
		while(it.hasNext()) {
			try {
				PrintWriter writer = (PrintWriter) it.next();
				writer.println(nachricht);
				writer.flush();
			} catch(Exception ex) {
			  ex.printStackTrace();
			}
		} // Ende der while-Schleife
	} // esAllenWeitersagen schließen
} // Klasse schließen

Ich hoffe ihr könnt mir helfen, würde das Programm nämlich echt mal gern ausprobieren. Vielen Dank schon mal im Vorraus!
 

Anhänge

  • Fehler_Socket.JPG
    Fehler_Socket.JPG
    45,6 KB · Aufrufe: 102
G

Gast2

Gast
Kann es sein dass dein Port
Code:
4242
schon von einer anderen Anwendung belegt ist?
4242

Versuche vielleicht einfach mal nen anderen Port zu nehmen und schau ob dein Programm dann startet.
 

Muddyfox87

Mitglied
habs ja mit 5000 schon probiert. in dem beispiel ist der port 4242 angegeben, da hatte ich es mit 5000 probiert. aber gleiche problem. was könnte denn noch das problem sein?
 
G

Gast2

Gast
Ich hab deinen Chatserver mal bei mir gestartet (auch Win7) und da gabs keine Probleme. Hab weder in Win noch am Router irgendwas eingestellt.
Die Meldunge JVM_Bind kenne ich bislang nur daher wenn ich einen ServerSocket erstellen will auf einem Port der bereits belegt ist.
 
G

Gast2

Gast
In Netbeans, aber das sollte eigentlich egal sein.
Auch schonmal nen Port oberhalb der 10000 probiert?

EDIT:
Du könntest auch mal mit netstat nachschauen welche ports belegt sind bei dir.
Einfach in die Kommandozeile mal
Code:
netstat -a
eingeben.
 
Zuletzt bearbeitet von einem Moderator:

Muddyfox87

Mitglied
kommt genau die gleiche fehlermeldung :(

edit:
hab geschaut bei netstat, hab auch einen genommen, der frei ist. vielleicht liegts an der ip-adresse?!
 

Michael...

Top Contributor
Die Fehlermeldung ist mir auch noch nicht untergekommen und an der IP-Adresse sollte es nicht liegen.
Der Aufbau des Serversockets scheitert ja schon.
Lass mal folgendes bei die Ablaufen und teste mal ob da überhaupt eine Erfolgsmeldung dabei ist:
Java:
	public static void main(String[] args) {
		for (int i=4000; i< 5000; i++) {
			try {
				ServerSocket server = new ServerSocket(i);
				System.out.println("ServerSocket auf Port: " + i + " erfolgreich gestartet!");
				server.close();
			}
			catch (Exception exc) {
				System.err.println("Start eines ServerSocket auf Port: " + i + " fehlgeschlagen!");
				//exc.printStackTrace();
			}
		}
	}

Ansonsten: Du versucht nicht zufälliger Weise TippDesTagesServer und SehrEinfacherChatServer gleichzeitig laufen zu lassen? Dann hätte ich allerdings eine andere Fehlermeldung erwartet.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
S Client-Server Chat Problem nur im lokalen Netztwerk Netzwerkprogrammierung 23
DamienX Chat Socketserver/Client. wo ist das Problem? Netzwerkprogrammierung 2
S RMI Chat Problem, Client bekannt machen Netzwerkprogrammierung 2
H Socket Chat entwickeln mit Java Server Client Netzwerkprogrammierung 4
D Chat Server/mehre Client Netzwerkprogrammierung 9
I Chat-Client empfängt nichts vom Server Netzwerkprogrammierung 3
AMStyles Client Server basierter Chat Netzwerkprogrammierung 7
J Client-Client-Chat ohne Serverbeteiligung Netzwerkprogrammierung 2
T Chat-Client Netzwerkprogrammierung 12
S JAV07P SGD client/server chat Netzwerkprogrammierung 4
L Chat Fenster Netzwerkprogrammierung 1
J Socket Ein Chat Server Tutorial Netzwerkprogrammierung 8
S Java Chat Server Netzwerkprogrammierung 8
J Chat Server starten über GUI problem Netzwerkprogrammierung 4
P Chat in Java Netzwerkprogrammierung 3
C Java Chat Admin Kenzeichnung Netzwerkprogrammierung 14
Androbin Socket Fehlerhafter Applet-Chat Netzwerkprogrammierung 12
C Microsoft Comic Chat Netzwerkprogrammierung 0
G Socket Socket verbindung für Chat System Netzwerkprogrammierung 3
O Chat (Server) sendet an verschieden Benutzer. Netzwerkprogrammierung 10
J Chat programmieren Netzwerkprogrammierung 12
L Chat Server programmieren Netzwerkprogrammierung 10
TheJavaKid Webcam-Chat im Applet (ChatRoulette Klon) Netzwerkprogrammierung 10
H Socket Java Chat - Verbindung zum Server fehlgeschlagen. Netzwerkprogrammierung 5
K Socket Chat-GUI eigenes Event nach Empfangen Netzwerkprogrammierung 2
K chat Netzwerkprogrammierung 13
F RMI einfacher Chat - Callbacks(?) funktionieren nicht Netzwerkprogrammierung 7
L Socket Chat funktioniert nicht Netzwerkprogrammierung 2
T Socket Java Chat Netzwerkprogrammierung 2
xDarkSunx Chat JFrame Netzwerkprogrammierung 3
xDarkSunx Hilfe Chat Login Netzwerkprogrammierung 7
E JAVA Chat Netzwerkprogrammierung 19
C Java Chat funktioniert nicht richtig Netzwerkprogrammierung 6
A Socket UDP Chat Verbindungsproblem im WWW (Server sendet ins leere) Netzwerkprogrammierung 11
A Multi-User-Chat Netzwerkprogrammierung 2
E Userliste für Chat Applet Netzwerkprogrammierung 4
L Socket Chat Server für mehrere Clients Netzwerkprogrammierung 7
J Framework/ Muster für Chat-ähnliches Programm gesucht Netzwerkprogrammierung 2
M chat als applet umgeschrieben - unbekannter fehler :( Netzwerkprogrammierung 2
P Socket Chat selbst bauen + Multiusereditor Netzwerkprogrammierung 13
T Java Chat über UDP Netzwerkprogrammierung 7
Developer_X Habe fragen zur Chat Programmierung Netzwerkprogrammierung 4
P Java Multiuser Chat hohe Systemauslastung Netzwerkprogrammierung 24
D Hilfe ich komme bei meinem UDP chat Server nicht mehr weiter Netzwerkprogrammierung 9
B Die alte Leier: "Chat" Netzwerkprogrammierung 3
M chat funktioniert nicht (Connection refused: connect) Netzwerkprogrammierung 3
R Java-Chat-Applet funktioniert nur in Eclipse Netzwerkprogrammierung 3
A Wichtig für einen Chat? Netzwerkprogrammierung 4
S Java Applet Chat Grundsatzfrage Netzwerkprogrammierung 6
R Java Chat über Inet connecten Netzwerkprogrammierung 3
F Chat Programm. Verständnisfrage while-Schleife Netzwerkprogrammierung 7
P Probleme bei Chat programm Netzwerkprogrammierung 2
C Voice Chat Netzwerkprogrammierung 3
G FAQ Chat geht nicht ? Netzwerkprogrammierung 4
T Schriftfarbe im Chat ändern Netzwerkprogrammierung 2
G ActionEvent klappt beim Chat nicht Netzwerkprogrammierung 5
J Kleines Problem mit Chat Server Netzwerkprogrammierung 2
G Chat zwischen applets: möglich? Netzwerkprogrammierung 2
T Chat mit mehreren Clients Netzwerkprogrammierung 3
C Chat , Streamproblem, PumpingException, Danke Netzwerkprogrammierung 2
V probleme mit dem chat programm Netzwerkprogrammierung 4
K Lokaler Chat Netzwerkprogrammierung 5
S Chat aufs Internet ausweiten Netzwerkprogrammierung 5
J Router behindert Chat Netzwerkprogrammierung 9
S Knuddels Chat System: Bot / Nachrichten verschicken? Netzwerkprogrammierung 6
G Chat - was brauch ich Netzwerkprogrammierung 2
André B. Brauche Hilfe bei Chat Netzwerkprogrammierung 6
K Problem mit "Chat" Netzwerkprogrammierung 2
N Java-Chat (lauffähig) macht Probleme auf der Konsole Netzwerkprogrammierung 6
Paule Acces denied bei Chat Netzwerkprogrammierung 6
B Multi-chat Problem Netzwerkprogrammierung 3
N Java Chat-Problem Netzwerkprogrammierung 4
G Java Chat mit HTML Cleint Netzwerkprogrammierung 3
G Chat Programm - was ist los? Netzwerkprogrammierung 9
A server mit 2 Ports : Mit und ohne SSL Chat system Netzwerkprogrammierung 10
Z chat: wann http und wann sockets verwenden? Netzwerkprogrammierung 11
M Socket Verbindungen für einen Chat Netzwerkprogrammierung 10
R Mini-Chat löst BindException aus Netzwerkprogrammierung 7
F Multiclient Chat Netzwerkprogrammierung 12
K Chat: Nur 1 Verbindung zum Server möglich :( Netzwerkprogrammierung 6
K Chat: Verbindung kommt nicht zu stande Netzwerkprogrammierung 6
C IRC CHAT auslesen -> Sockets/input und output Streams Netzwerkprogrammierung 9
S Einfacher Multiuser chat in java Netzwerkprogrammierung 18
I Performanteste Kommunikationsmethode zwischen Client u. Server Netzwerkprogrammierung 4
L Socket Automatische Zuweisung von Server und Client Rolle Netzwerkprogrammierung 12
ExceptionOfExpectation Server/Client-Kommunikation Netzwerkprogrammierung 34
M Server-Client-System für Browsergame Netzwerkprogrammierung 5
B Axis2 Webservice mit Client Zertifikat Authentifizierung Netzwerkprogrammierung 3
Yonnig Threads mit Client/Server und GUI (laufend bis button-click) Netzwerkprogrammierung 9
T Jetty mit Client-Zertifikat nur bei spezifischer URL Netzwerkprogrammierung 1
J Einlesen von Servernachrichten von TCP-Client Netzwerkprogrammierung 17
J Client-Server und SOAP Netzwerkprogrammierung 23
L30nS RMI Aufruf einer Client-Methode von einem RMI-Server Netzwerkprogrammierung 3
T String von Client zu Server kommt nicht an Netzwerkprogrammierung 92
D WebSocket Server mit HTML Client und Java Server Netzwerkprogrammierung 5
D Server - Client Informationsaustausch, Möglichkeiten Netzwerkprogrammierung 3
X Kann ich einen Client/Server verbindung hinkriegen die mir alle paar Sekunden die aktuellen Daten per Realtime zuschickt ? Netzwerkprogrammierung 9
T Client zu Client Kommunikation Netzwerkprogrammierung 2
D Slf4j - Logging - Client-Server Architektur Netzwerkprogrammierung 3
J client server mit nur einem PC Netzwerkprogrammierung 33

Ähnliche Java Themen

Neue Themen


Oben