Ich arbeite momentan in der Schule an einem Java projekt. Es ist das erste mal, dass ich mit Java richtig in Kontakt komme. Deswegen habe ich auch über die Suchfunktion mich nicht wirklich zurecht gefunden.
Als Ziel habe ich mir gesetzt, einen kleinen Netzwerk chat zu programmieren, bestehend aus einem Server und einem Client, da ich soetwas bereits in einem VHS-Kurs gemacht, jedoch nicht verstanden habe. Ich bin auch schon "relativ" weit. Die Verbindung kann von einem PC zum anderen hergestellt werden und auch eine Nachricht verschickt werden.
Wenn "exit eingegeben wird, beendet sich das Programm.
Nun stehe ich jedoch vor dem Problem, dass der Server nur eine einzige Nachricht auswirft und ich ratlos bin warum. ;(
Es funktioniert auch bisher nur in eine Richtung, das macht jedoch nichts. Im moment will ich erst einmal mehrere Nachrichten verschicken können.
Hier der Server:
Und der Client:
Das Problem ist wie gesagt, dass das mein erster Kontakt mit Java ist und ich nicht in der Lage bin mir selbst zu helfen. :bahnhof:
Vielen Dank schonmal im vorraus.
Als Ziel habe ich mir gesetzt, einen kleinen Netzwerk chat zu programmieren, bestehend aus einem Server und einem Client, da ich soetwas bereits in einem VHS-Kurs gemacht, jedoch nicht verstanden habe. Ich bin auch schon "relativ" weit. Die Verbindung kann von einem PC zum anderen hergestellt werden und auch eine Nachricht verschickt werden.
Wenn "exit eingegeben wird, beendet sich das Programm.
Nun stehe ich jedoch vor dem Problem, dass der Server nur eine einzige Nachricht auswirft und ich ratlos bin warum. ;(
Es funktioniert auch bisher nur in eine Richtung, das macht jedoch nichts. Im moment will ich erst einmal mehrere Nachrichten verschicken können.
Hier der Server:
Java:
import java.net.*;
import java.io.*;
public class SimpleServer1
{
public static void main(String[] args) {
try
{
//Der Port 5555 wird geöffnet und auf den request gewartet...
//...der request ist erfolgt. Ein BufferedReader liest die Daten
//aus dem InputStream der Socket und gibt sie aus...
String outdata;
String Vergleich;
Vergleich = "exit";
ServerSocket ss = new ServerSocket(5556);
Socket s = ss.accept();
do {
BufferedReader br = new BufferedReader(
new InputStreamReader(s.getInputStream()));
//String outdata;
outdata = br.readLine();
if (outdata == null)
{
}
else
{
System.out.println("Incoming message: " + outdata);
}
} while (!Vergleich.equals( outdata ));
s.close();
//System.out.println("Incoming message: " + br.readLine());
//schließlich wird die Socket wieder geschlossen (!) ...
//
}
catch(IOException e)
{
System.err.println(e.toString());
}
}
}
Und der Client:
Java:
import java.net.*;
import java.io.*;
public class SimpleClient1
{
public static void main(String[] args)
{
String Vergleich;
Vergleich = "exit";
String inData;
inData = "blubb";
do {
try
{
//selbst
InputStreamReader inStream =
new InputStreamReader( System.in ) ;
BufferedReader stdin =
new BufferedReader( inStream );
System.out.println("Geben Sie Daten ein:");
inData = stdin.readLine();
//Eine Socket wird zum eigenen Rechner (localhost) aufgebaut...
Socket s = new Socket("localhost", 5556);
//Der PrintWriter versendet nun über den OutputStream der
//Socket einen String...
PrintWriter pw = new PrintWriter(s.getOutputStream());
pw.print( inData );
pw.flush();
s.close();
//String Vergleich;
//Vergleich = "exit";
}
catch(IOException e)
{
System.err.println(e.toString());
}
}while (!inData.equals( Vergleich ));
}
}
Das Problem ist wie gesagt, dass das mein erster Kontakt mit Java ist und ich nicht in der Lage bin mir selbst zu helfen. :bahnhof:
Vielen Dank schonmal im vorraus.