Client nimmt den Inputstream nicht an

Status
Nicht offen für weitere Antworten.
R

red99

Gast
Ich habe eine kleine Client Server Applikation geschrieben. Man schickt mit eine Nachricht zum Server der fügt etwas an und schickt sie dann wieder zurück.
Code:
import java.net.*;
import java.io.*;

public class KleinerServer2 {
   ServerSocket server = new ServerSocket(4444);
   private String str;
   KleinerServer2() throws IOException{
      while(true){
         Socket client = server.accept();
         BufferedReader input = new BufferedReader(new InputStreamReader(client.getInputStream()));
         BufferedWriter output = new BufferedWriter(new OutputStreamWriter(client.getOutputStream()));
         while ((str = input.readLine()) != null){
	         System.out.println(str);
	         output.write("Zeile [" + str + "] gsendet.\r\n");
	         output.flush();
         }
         input.close();
         output.close();
      }
   }
   public static void main(String[] argv){
      try {
         KleinerServer2 server = new KleinerServer2();
      }
      catch(IOException e){
         System.out.println(e);
      }
   }
}
Code:
import java.net.*;
import java.util.*;
import java.util.Timer;
import java.awt.*;
import java.awt.event.*;
import java.io.*;
import javax.swing.*;

public class KleinerClient
	extends JFrame implements ActionListener{
	
	private static JTextArea Ein; private JTextField Aus; private JButton Senden;
    private String line; 
    private static Socket server = null;
    private BufferedReader input;
    private BufferedWriter output;
    private Timer timer = new Timer();
    private TimerTask task = null; 
    private int i;
	
   KleinerClient() throws IOException{
	  super ("Client");
	  try {
	      server = new Socket ("localhost",4444);
	      input = new BufferedReader(new InputStreamReader(server.getInputStream()));
	      output = new BufferedWriter(new OutputStreamWriter(server.getOutputStream()));
	  } catch (IOException ioe) {
	         ioe.printStackTrace();}
	  JPanel Platte = new JPanel();
	  Platte.setLayout(new FlowLayout());
	  Ein = new JTextArea("");
	  Ein.setPreferredSize(new Dimension(380, 300));
	  //Ein.setBackground(Color.white);
	  Ein.setEditable(false);
	  Ein.setBorder(BorderFactory.createBevelBorder(1));
	  Aus = new JTextField("",28);
	  Senden = new JButton ("Senden");
	  Senden.addActionListener(this);
	  Platte.add(Ein);
	  Platte.add(Aus);
	  Platte.add(Senden);
	  setContentPane (Platte);
	  startTimer();
   }
   public static void main (String[] argv){
      try{
         KleinerClient client = new KleinerClient();
         client.setSize(450,380);
    	 client.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    	 client.setVisible(true); 
    	 Ein.setText("Connected to " + server.getInetAddress() + ":"
               + server.getPort() + "\r\n");
      }
      catch(IOException e){
         System.out.println(e);
      }
   }
   public void actionPerformed(ActionEvent Ereignis) {
		Object Quelle = Ereignis.getSource();
		if (Quelle == Senden)
		{
			try {
				line = Aus.getText();
				if ((line != null) && (!line.equals("exit")))
				{
					output.write(line + '\n');
					output.flush();
					Aus.setText("");
				}
				else
				{
					output.write(line + '\n');
					output.flush();
					Aus.setText("");
					Ein.setText(Ein.getText() + "Verbindung geschlossen.\r\n");
					task.cancel();
		            task = null;
					server.close();
			     //   System.exit(1);
				}
			} catch (IOException ioe) {
				System.err.println("Verbindung zum Client nicht geschlossen!");
	            ioe.printStackTrace();
			}
		}
		
	}
   
   public void startTimer()
	{
		if (task == null)
       {
           task = new TimerTask() {
               public void run()
               {
               	i++;
					System.out.println(i);
						try {
							if((line = input.readLine()) != null)
							{
								Ein.setText(Ein.getText() + line + "\r\n");
							}
							else
							{
								Ein.setText(Ein.getText() + "Kein Rücksignal.");
					            /*server.close();
					            System.exit(1);*/
							}
						} catch (IOException ioe) {
							Ein.setText(Ein.getText() + "Fehler");
							ioe.printStackTrace();
						}
						
               }
           };
           timer.schedule(task, 0, 1);
       }
       else
       {
           task.cancel();
           task = null;
       } 
	}
}

Jedoch bleibt es bei if((line = input.readLine()) != null) immer hängen und empfängt den inputstream vom server nicht.
Bitte helft mir. :?:

Schon mal vielen Dank für Eure Hilfe :D
 
S

SlaterB

Gast
ich habe grade keine längere Testzeit (gut Nacht ;) ),
deshalb nur ein vielleich unfair erscheinender Tipp:

ein 'kleiner Client' hat weniger als 30 Zeilen..,
mit deinem Monster-Programm baust du dir alle möglichen Fehlerquellen mit ein
 
R

red99

Gast
ja klar das heißt auch nur deshalb kleiner Client, da ich einen einfachen Client umgeschrieben und nicht extra umbenannt habe^^

und ja klar längere Programme erzeugen mehr Fehler als kleine :-(
 

GoWa

Mitglied
Er macht doch das was er sollte ?
Er schickt die Nachricht zum Server und Empfängt die Nachricht: "Zeile [XYZ] gsendet.

Das Programm bleibt bei
Code:
if((line = input.readLine()) != null)
hängen aus den selben Grund wie der Server bei:
Code:
Socket client = server.accept();


Socket.getInputStream

Serversocket.accept

hängen bleibt.

Stichwort "blocking mode"
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
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
H Socket Chat entwickeln mit Java Server Client Netzwerkprogrammierung 4
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
M Socket Nachricht von TCP-Client an Server schicken Netzwerkprogrammierung 12
M Socket Verbindung Matlab(Server) Java(Client) Netzwerkprogrammierung 1
R Socket FATAL EXCEPTION MAIN bei Socket based client/server app Netzwerkprogrammierung 2
G Server-Client IO Problem Netzwerkprogrammierung 6
ruutaiokwu ständig "sender address rejected: improper use of smtp" bei smtp-client Netzwerkprogrammierung 4
J HTTP [Java 9] Neuer HTTP Client - Tutorial Netzwerkprogrammierung 3
A Chatserver/-client - Code stoppt bei readUTF() Netzwerkprogrammierung 7
I Socket Das erste Server-Client Programm Netzwerkprogrammierung 16
L Zugriffprobleme Client - Webservice AspenTechnology Netzwerkprogrammierung 0
A Client Client Übertragung Netzwerkprogrammierung 12
M Socket Server antwortet dem Client nicht Netzwerkprogrammierung 6
K Socket Netty Client wirft Fehler! Netzwerkprogrammierung 3
I Client/Server Kommunikation bei einem Spiel Netzwerkprogrammierung 4
E Objekte versenden, Client-Server Netzwerkprogrammierung 25
C Mini Client-Server-Anwendung funktioniert nicht Netzwerkprogrammierung 8
U Client Soap Verbindung wieder schließen Netzwerkprogrammierung 0
U Socket Client mit hash authentifizieren Netzwerkprogrammierung 3
F HTTP HTTP Rest Client mit TLS1.2 und selbst signiertem Zertifikat Netzwerkprogrammierung 2
P Server als Client nutzen Netzwerkprogrammierung 8
D Socket Run Args Client/Server Socket Netzwerkprogrammierung 1
Cromewell Socket Multithreaded Server und Client Netzwerkprogrammierung 1
Y Client/Server/DB communication Netzwerkprogrammierung 3
JavaWolf165 Socket mit .writeUtf etwas vom Client zum Server schicken Netzwerkprogrammierung 13
J Client - Serversocket Netzwerkprogrammierung 1
P RMI Client Server Programm über Internet Netzwerkprogrammierung 2
brainless Client Server Kommunikation verschlüsseln Netzwerkprogrammierung 13
gamebreiti Socket Server / Client Anwendung Manipulation von Objekten durch Server Netzwerkprogrammierung 9
T Socket Server/Client Kommunikation Netzwerkprogrammierung 8
N Fragen zu Sockets Client Netzwerkprogrammierung 3
F Extasys TCp Client extends Funktion Netzwerkprogrammierung 0
F Server Client Anwendung mit UDP Netzwerkprogrammierung 2
O Client zwischen XML und JSON auswählen lassen Netzwerkprogrammierung 2
A RMI Wo treten Exceptions bei RMI Aufrufen auf? Auf Client oder auf Server? Netzwerkprogrammierung 3
A ByteBuffer - Client/Server Netzwerkprogrammierung 9
A Socket Wie ein einfacher Multithreads Service mit Telnet als Client mit Observable/Observer gelöst.... Netzwerkprogrammierung 0
K C# Server - Android Client Netzwerkprogrammierung 0
T Application Client NullPointerExc Netzwerkprogrammierung 7
V TCP Client funktioniert auf Emulator aber nicht auf Smartphone Netzwerkprogrammierung 5
H Machbarkeitsfrage: TCP/IP Client (z.B. Netty) für Java Web Applcation Netzwerkprogrammierung 1
P MIME-TYPE Erklaerung, Kommunikation zwischen Client und Server Netzwerkprogrammierung 3
H HTTP REST Jersey - PUT-Beispiel von Client senden Netzwerkprogrammierung 0
J Sichere Kommunikation bei Server Client Netzwerkprogrammierung 3
T Frage zu Client-Server Applikation Netzwerkprogrammierung 2
H Socket Client/Server Socket Programmieren Netzwerkprogrammierung 1
M Theoretische Frage zu Server - Client Netzwerkprogrammierung 2
P HTTP Server / Client Netzwerkprogrammierung 1
N FTP FTP Client invalid IPv6 address (Apache Commons Net API) Netzwerkprogrammierung 6
F TCP Client, verbindung aufrecht halten Netzwerkprogrammierung 0
X RMI: Woher kennt der Client das Schnittstellen-Interface? Netzwerkprogrammierung 2
E Thematik Client server Netzwerkprogrammierung 2
D UDP Client empfängt nichts Netzwerkprogrammierung 2
D Client/Server per Crossover Lan Kabel Netzwerkprogrammierung 1
S Client Server Connection Netzwerkprogrammierung 4
V erste Client - Server Anwendung, paar Fragen wie Socketverbindung checken usw. Netzwerkprogrammierung 4
S Client Anwendung mit zentraler SQL-Datenbank Netzwerkprogrammierung 3
N Client Identifikation eines Servers Netzwerkprogrammierung 1
S Sichere Server/Client Architektur Netzwerkprogrammierung 1
D Chat Server/mehre Client Netzwerkprogrammierung 9
I Server+Client Netzwerkprogrammierung 3
N Client am Server abmelden Netzwerkprogrammierung 0
F Server/Client Probleme Netzwerkprogrammierung 3
D SSH Client Netzwerkprogrammierung 7
U Socket Instant Messanger (Server Linux, Client Windows) Netzwerkprogrammierung 1
B TCP Client Android Netzwerkprogrammierung 3
Athena Grundsatzfragen zu Client-Server-Architektur / Matchmaking Netzwerkprogrammierung 1
A Problem beim Senden von Client zu Server Netzwerkprogrammierung 10
F Client Server DB Netzwerkprogrammierung 0
A Verständnisfrage Multi-Threaded Client/Server Netzwerkprogrammierung 5
F Tipps zum Thema Server/Client vie SOAP Netzwerkprogrammierung 0
OnDemand Ist Client noch angemeldet? Netzwerkprogrammierung 7
F Socket Java - Server/Client simple Netzwerkprogrammierung 1
D Socket UDP Client reagiert nicht auf spontane Meldungen Netzwerkprogrammierung 5
R Zeitliche Syncronisation Server - Client Netzwerkprogrammierung 0
S Server-Client: Image senden Netzwerkprogrammierung 2
C Multithreading Client / Server erklärt Netzwerkprogrammierung 11
M Client sendet nur, wenn das Socket geschlossen wird Netzwerkprogrammierung 53
P server - client verbindung (anfänger) Netzwerkprogrammierung 8
S Socket (client) verbindet nicht Netzwerkprogrammierung 6
V Templates für Java Client rabbitmq Netzwerkprogrammierung 4
J Client Server - Serialisierung Netzwerkprogrammierung 8
C Client connection per Portforwarding auf einen lokalen Serverport Netzwerkprogrammierung 3
Luk10 Server / Client: Clients speichern! Netzwerkprogrammierung 6

Ähnliche Java Themen


Oben