Chat , Streamproblem, PumpingException, Danke

Status
Nicht offen für weitere Antworten.

chattychan

Neues Mitglied
Hallo,

ich versuch im Moment einen einfachen Chat zu implementieren.

Code:
package web;

import java.net.*;
import java.awt.*;
import java.awt.event.*;
import java.io.*;
import javax.swing.*;
import java.util.*;

public class Chat extends JFrame{
	
	JPanel paneln;
	JPanel panelc;

	JButton send;
	JButton sendtext;
	JTextField host;
	JTextArea output;
	JTextArea input;
	URL url;
	URLConnection urlcon;
	BufferedReader buf;
	ServerSocket serv;
	Socket outclient;
	InetAddress adress;
	int port = 2006;
	protected Vector connections;
	Thread connect;
	DataInputStream in;
	PrintStream out;

	public Chat() {
		super("Chat 0.1");

		
		Container c = getContentPane();
		c.setLayout(new BorderLayout());
		
		paneln = new JPanel();
		paneln.setLayout(new FlowLayout());
		
		panelc = new JPanel();
		panelc.setLayout(new GridLayout(2,1));
		
		

		
		send = new JButton("Connect");
		sendtext = new JButton("Senden");
		
		host = new JTextField(10);
		
		output = new JTextArea(5,5);
		output.setEditable(false);
		output.setBackground(Color.black);
		output.setForeground(Color.green);
		
		input = new JTextArea(5,5);
		
		
		paneln.add(host);
		paneln.add(send);

		panelc.add(output);
		panelc.add(input);
		
		c.add(paneln, BorderLayout.NORTH);
		c.add(panelc, BorderLayout.CENTER);	
		c.add(sendtext, BorderLayout.SOUTH);
		
		try{
		serv = new ServerSocket(port);
		output.append("ServerSocket erstellt...\nServer lauscht auf Port 2001...\n");

		}
		catch(IOException e){
			output.append("Kann ServerSocket nicht erstellen\n");
		}
		
		
		send.addActionListener(new MeinActionLauscher());
		sendtext.addActionListener(new MeinActionLauscher1());
		

		
	}
	
	
	
	
	class MeinActionLauscher implements ActionListener {
		public void actionPerformed(ActionEvent e){
			try{
				/*
				url = new URL(host.getText());
				buf = new BufferedReader(new InputStreamReader(url.openStream()));
				String s;
				int i=1;
				while((s=buf.readLine())!=null){
					output.append(i+": "+s+"\n");
					i++;
				
				}
				*/
				adress = InetAddress.getByName(host.getText());
				output.append("Verbindung aufbauen mit: "+host.getText()+"\n");
				
				outclient = new Socket(adress, port);
				
				output.append("Verbindung steht... h4ck th3 w0rld :-)\n");
				}
			catch(IOException e1){
				output.append("Verbindung konnte nicht aufgebaut werden...\n");
			}
		}
	}
	
	class MeinActionLauscher1 implements ActionListener{
		public void actionPerformed(ActionEvent e){
			output.append("Ich: "+input.getText()+"\n");		
			out.println("Er: "+input.getText()+"\n");
			input.setText("");
		}
	}
	
	public void broadcast(String msg)
	{
		int i;
		connection you;

		for (i=0; i<connections.size(); i++)
		{
			you = (connection) connections.elementAt(i);
			you.out.println(msg);
		}
	}
	
	public void lauschen() {
		String line;
		try{
			while(true){
				Socket client = serv.accept();
				output.append(client.toString()+"\n");
				output.append("Socket angenommen\n");
				if(client.isConnected())
					output.append("Jupp");
				//connection c = new connection(this, client);
				//connections.addElement(c);
				BufferedReader in = new BufferedReader(new InputStreamReader(client.getInputStream()));
				out = new PrintStream(client.getOutputStream());
				line = in.readLine();
				if(line!=null)
					output.append(line+'\n' );
			}
		}
		
		catch(IOException e){
			output.append("Verbindung kann nicht angenommen werden! SCHEISSE\n");
		}
	}
	
	public static void main(String[] args){
		Chat chatlein = new Chat();		
		chatlein.setSize(300,400);
		chatlein.setVisible(true);
		chatlein.lauschen();
		
	}
}

Dummerweise bekomme ich da immer eine Exception wenn ich den Stream losschicke.
Dabei ist doch der Socket verbunden. Also der SocketServer accepts.

Komisch, ich habs auch schon mal als Thread versucht, da der Server eh später mehrere Verbindungen eingehen soll.
Zur Vereinfachung hab ich dann mal anstatt in run() den code in eine einfache void methode geschrieben.

Hoffe jemand kann mir helfen.

Gruss
Thomas
 

Ceos

Mitglied
Die exception als ausschrifft wäre nett

erm beim lauschen iss mir einiges nicht ganz klar ist das jetzt der server oder der client ? weil das iss irgendwie gemischt

ich hab das etwas anders gemacht, ich versteh nicht wo du aus dem bytestrom wieder einen lesbaren datenstrom machst, gschweige denn wo du überhaupt schreibst

bleiben wir bei der exception, ich steig bei dir irgendwie net ganz durch kann es sein das du für jeden textschnipsel eine neue verbindung aufbaust ?

normalerweise lauscht man am serverSocket, holt sich einen Socket mit s.accept(), legt sich einen Thread an, der ein einer schleife auf ankommende daten wartet und parallel dazu geht die lausch schleife wieder in s.accept();

senden tut man dann indem man die threads (die man effektiv in einer hashtable anlegt) durchrasselt und jedem Socket in den output schreibt
 

chattychan

Neues Mitglied
Hi,

wow das war aber ne schnelle Antwort.

Ich werd das ganze heute Abend nochmal überdenken und Threads benutzen.
Hab das echt ein bischen komisch gemacht, das liegt aber daran dass ich noch gar nicht
richtig plan hab weil ich sowas noch nie gemacht habe. ich kenn mich gar nicht mit streams aus
und welcher Stream welchem als Container dienen darf weiss ich auch nicht. Hab einfach mal
nen BufferedReader genommen weil ich weiss das es damit geht von stdin zeilenweise auszulesen
und dass er die methode readLine() hat. Da dacht ich einfach, readLine() liefert einen String den kann ich
dann an das JTextArea anhängen. war wohl nix.

Ich poste morgen Mittag nochmal meine neue Version. Wäre super nett wenn du dir das dann nochmal
anschauen könntest.

Gruss
Thomas
 
Status
Nicht offen für weitere Antworten.
Ä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
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
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
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