Hallo,
ich habe folgendes Problem:
Das Programm besteht aus einem Server und Client.
Client verbindet sich mit dem Server. Der Client sendet einen String (String wird von der Tastatur eingelesen) an den Server und der Server gibt einen Antwortstring auf diese Anfrage zurück.
PROBLEM: der Server gibt den eingelesenen String nicht zurück, erst wenn ich die Verbindung durch den "STOP" butten beende, dann gibt er das Eingelesen aus mit einer Fehlermeldung: java.net.SocketException: Connection reset
Könnte mir jemand helfen das Problem zu beheben?
Der Client bzw Server sollte die Abfrage von der Tastaur ohne den "STOP" Button zurück geben und ohne Fehlermeldung.
hier sind die Quellcodes:
SERVER:
CLIENT:
ich habe folgendes Problem:
Das Programm besteht aus einem Server und Client.
Client verbindet sich mit dem Server. Der Client sendet einen String (String wird von der Tastatur eingelesen) an den Server und der Server gibt einen Antwortstring auf diese Anfrage zurück.
PROBLEM: der Server gibt den eingelesenen String nicht zurück, erst wenn ich die Verbindung durch den "STOP" butten beende, dann gibt er das Eingelesen aus mit einer Fehlermeldung: java.net.SocketException: Connection reset
Könnte mir jemand helfen das Problem zu beheben?
Der Client bzw Server sollte die Abfrage von der Tastaur ohne den "STOP" Button zurück geben und ohne Fehlermeldung.
hier sind die Quellcodes:
SERVER:
Java:
import java.net.*;
import java.io.*;
import java.util.*;
public class SimpleEchoServer {
public static void main(String args[])
{
try {
while(true)
{
System.out.println("Warte auf Verbindung auf Port 7013..2.");
ServerSocket echod = new ServerSocket(7013);
System.out.println("Vor accept()");
Socket socket = echod.accept();
System.out.println("Verbindung hergestellt");
InputStream in = socket.getInputStream();
OutputStream out = socket.getOutputStream();
int c;
while ((c = in.read()) != -1 ) {
System.out.print((char)c);
out.write((char)c);
}
System.out.println("Verbindung beenden");
socket.close();
echod.close();
}
} catch (IOException e) {
System.err.println(e.toString());
System.exit(1);
}
}
}
CLIENT:
Java:
import java.net.*;
import java.io.*;
public class SimpleEchoClient {
public static void main(String args[])
{
System.out.println("HALLO");
if (args.length != 1) {
System.err.println("Usage: java Listing 7013 <host>");
System.exit(1);
}
try {
// String hostname = args[0];
// int portnr = new Integer(args[1]).intValue();
Socket sock = new Socket(args[0], 7013);
// Socket sock = new Socket(hostname, portnr);
InputStream in = sock.getInputStream();
OutputStream out = sock.getOutputStream();
BufferedReader conin = new BufferedReader(new InputStreamReader(System.in));
System.out.println("Gebe was ein!");
String line;
line = conin.readLine();
out.write(line.getBytes());
BufferedReader buffin = new BufferedReader(new InputStreamReader(in));
String ausgText = buffin.readLine();
System.out.println(ausgText);
System.out.println("BLOCK4");
in.close();
sock.close();
} catch (IOException e) {
System.err.println(e.toString());
System.exit(1);
}
}
}