chat

KingOfExceptions

Bekanntes Mitglied
kann mir jemand sagen was an diesem chat nicht funktioniert? Ich bekomme eine null pointer exception....

client

Java:
import javax.swing.*;
import java.awt.event.*;
import java.awt.*;
import java.io.*;
import java.net.*;


public class EinfacherChatClient
{
	JTextArea eingehend;
	JTextField ausgehend;
	BufferedReader reader;
	PrintWriter writer;
	Socket sock;
	
	public static void main(String[]args)
	{
		EinfacherChatClient client=new EinfacherChatClient();
		client.los();
	}
	
	public void los()
	{
		JFrame frame=new JFrame("Einfacher Chat");
		JPanel hauptPanel=new JPanel();
		eingehend=new JTextArea(15,20);
		eingehend.setLineWrap(true);
		eingehend.setWrapStyleWord(true);
		eingehend.setEditable(false);
		JScrollPane fScroller=new JScrollPane(eingehend);
		fScroller.setVerticalScrollBarPolicy(ScrollPaneConstants.VERTICAL_SCROLLBAR_ALWAYS);
		fScroller.setHorizontalScrollBarPolicy(ScrollPaneConstants.HORIZONTAL_SCROLLBAR_NEVER);
		JButton sendenButton=new JButton("Senden");
		sendenButton.addActionListener(new SendenButtonListener());
		hauptPanel.add(fScroller);
		hauptPanel.add(ausgehend);
		hauptPanel.add(sendenButton);
		netzwerkEinrichten();
		
		Thread readerThread=new Thread(new EingehendReader());
		readerThread.start();
		
		frame.getContentPane().add(BorderLayout.CENTER, hauptPanel);
		frame.setSize(400,500);
		frame.setVisible(true);
	}
	
	private void netzwerkEinrichten()
	{
		try
		{
			sock=new Socket("localhost",5002);
			InputStreamReader streamReader=new InputStreamReader(sock.getInputStream());
			reader=new BufferedReader(streamReader);
			writer=new PrintWriter(sock.getOutputStream());
			JOptionPane.showMessageDialog(null, "Verbindung hergestellt");
		}
		catch(IOException ex)
		{
			JOptionPane.showMessageDialog(null, "Verbindung konnte nicht hergestellt werden");
		}
	}
	
	public class SendenButtonListener implements ActionListener
	{
		public void actionPerformed(ActionEvent evt)
		{
			try
			{
				writer.println(ausgehend.getText());
				writer.flush();
			}
			catch(Exception ex)
			{
				JOptionPane.showMessageDialog(null, "Mitteilung konnte nicht gesendet werden");
			}
			
			ausgehend.setText("");
			ausgehend.requestFocus();
		}
	}
	
	public class EingehendReader implements Runnable
	{
		public void run()
		{
			String nachricht;
			try
			{
				while((nachricht=reader.readLine())!=null)
				{
					System.out.println("gelesen: "+nachricht);
					eingehend.append(nachricht+"\n");
				}
			}
			catch(IOException ex)
			{}
		}
	}
}

server
Java:
import java.io.*;
import java.net.*;
import java.util.ArrayList;
import java.util.Iterator;


public class SehrEinfacherChatServer 
{
	ArrayList 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(IOException ex){}
		}
		
		public void run()
		{
			String nachricht;
			try
			{
				while((nachricht=reader.readLine()) != null)
				{
					System.out.println("gelesen: "+nachricht);
					esAllenWeitersagen(nachricht);
				}
			}
			catch(IOException ex){}
		}
		
	}
	
		public static void main (String[] args)
		{
			new SehrEinfacherChatServer().los();
		}
		
		
		public void los()
		{
			clientAusgabeStröme=new ArrayList();
			
			try
			{
				ServerSocket serverSock=new ServerSocket(5002);
				
				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");
				}
			}
			catch(Exception ex){}
		}
		
		public void esAllenWeitersagen(String nachricht)
		{
			Iterator it=clientAusgabeStröme.iterator();
			while(it.hasNext())
			{
				try
				{
					PrintWriter writer=(PrintWriter) it.next();
					writer.println(nachricht);
					writer.flush();
				}
				catch(Exception ex){}
			}
		}
}
 
G

Gast2

Gast
Java:
hauptPanel.add(ausgehend);
ausgehend wird nirgends instantiiert.
 

Fab1

Top Contributor
den Port musst du nicht ändern. Du musst zuerst den Server und dann den/die Clients ausführen. Die Clients müssen nämlich mit dem Server kommunizieren. Dies funktioniert erst wenn der Server läuft :)
 

KingOfExceptions

Bekanntes Mitglied
kann ich diesen chat auch auf zwei anderen computern benutzen? zb:

Person 1 öffnet den server
Person 1 öffnet den chat
Person 2 öffnet den chat
Person 1&Person 2 können gemeinsam chatten

dabei sind Person 1 und Person 2 nicht in dem gleichen internetnetzwerk.

Oder was müsste ich dafür ändern?
 
Zuletzt bearbeitet:
G

Gast2

Gast
Natürlich musst du da am Code was ändern, du stellst die Verbindung aktuell immer zu "localhost" her.
 
G

Gast2

Gast
Du musst irgendwie die IP des Servers einlesen. Entweder über nen Eingabefeld, per config Datei oder über die Eingabezeile.
 
G

Gast2

Gast
Wo der Server läuft ist egal. Alle Clients die sich verbinden wollen müssen nur die IP des Servers kennen/angeben.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
H Socket Chat entwickeln mit Java Server Client 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
D Chat Server/mehre Client Netzwerkprogrammierung 9
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
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
I Chat-Client empfängt nichts vom Server Netzwerkprogrammierung 3
A Socket UDP Chat Verbindungsproblem im WWW (Server sendet ins leere) Netzwerkprogrammierung 11
A Multi-User-Chat Netzwerkprogrammierung 2
M Socket Chat-Client-Problem Netzwerkprogrammierung 8
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
AMStyles Client Server basierter Chat Netzwerkprogrammierung 7
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
S Client-Server Chat Problem nur im lokalen Netztwerk Netzwerkprogrammierung 23
DamienX Chat Socketserver/Client. wo ist das Problem? Netzwerkprogrammierung 2
J Client-Client-Chat ohne Serverbeteiligung Netzwerkprogrammierung 2
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
T Chat-Client Netzwerkprogrammierung 12
G Chat zwischen applets: möglich? Netzwerkprogrammierung 2
T Chat mit mehreren Clients Netzwerkprogrammierung 3
C Chat , Streamproblem, PumpingException, Danke Netzwerkprogrammierung 2
S RMI Chat Problem, Client bekannt machen 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
S JAV07P SGD client/server chat Netzwerkprogrammierung 4
C IRC CHAT auslesen -> Sockets/input und output Streams Netzwerkprogrammierung 9
S Einfacher Multiuser chat in java Netzwerkprogrammierung 18

Ähnliche Java Themen

Neue Themen


Oben