Hi,
bin gerade am verzweifeln: Es soll eine Zahl eingelesen werden im Client, an den Server geschickt und verändert zurückgesendet werden. Nur leider scheint was mit dem umwandeln nicht zu klappen, ich verstehe nur nicht was.
Hier der Code:
Client:
Server:
Der Fehler tritte beim lesen des Clients aus dem Stream aus - also in der Zeile String text = in.readLine();
Und ich verstehe mal wieder überhaupt nicht wieso. Bin der Meinung alles in Strings konvertiert zu haben, was nötig gewesen wäre.
Bin für jede Hilfe dankbar,
Marcel
bin gerade am verzweifeln: Es soll eine Zahl eingelesen werden im Client, an den Server geschickt und verändert zurückgesendet werden. Nur leider scheint was mit dem umwandeln nicht zu klappen, ich verstehe nur nicht was.
Hier der Code:
Client:
Code:
public class Client
{
public static void main(String[] args) throws UnknownHostException, IOException
{
Socket socket = new Socket("localhost", 1234);
BufferedWriter out = new BufferedWriter(new OutputStreamWriter(socket.getOutputStream()));
BufferedReader in = new BufferedReader(new InputStreamReader(socket.getInputStream()));
out.write(Integer.toString(In.getInt("Bitte Zahl eingeben: ")));
out.newLine();
out.flush();
String text = in.readLine();
System.out.println(text);
}
}
Server:
Code:
public class Server
{
/**
* @param args
* @throws IOException
*/
public static void main(String[] args) throws IOException
{
/* Variablen festlegen */
char[] zeichen = {'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v',
'w', 'x', 'y', 'z', '0', '1', '2', '3', '4', '5', '6', '7', '8', '9'};
Zufall zufall = new Zufall();
ServerSocket server = new ServerSocket(1234);
Socket socket = server.accept();
BufferedReader in = new BufferedReader(new InputStreamReader(socket.getInputStream()));
BufferedWriter out = new BufferedWriter(new OutputStreamWriter(socket.getOutputStream()));
int zufallszahl = zufall.liefereZahl(1, 20);
String text = in.readLine();
int zahl = Integer.parseInt(text);
zahl += 1;
StringBuffer zeichenkette = null;
for (int i = 0; i < zufallszahl; i++)
{
zeichenkette.append(zeichen[zufall.liefereZahl(0, 45)]);
}
zeichenkette.append(" ");
zeichenkette.append(Integer.toString(zahl));
out.write(zeichenkette.toString());
out.newLine();
out.flush();
out.close();
in.close();
server.close();
}
}
Der Fehler tritte beim lesen des Clients aus dem Stream aus - also in der Zeile String text = in.readLine();
Und ich verstehe mal wieder überhaupt nicht wieso. Bin der Meinung alles in Strings konvertiert zu haben, was nötig gewesen wäre.
Bin für jede Hilfe dankbar,
Marcel