Ich arbeite mich gerade in das Thema Sockets ein und habe eine wohl triviale Frage, die ich leider nicht lösen kann: Es geht um eine Server-Client App, bei der der Client nacheinander zwei Zahlen an den Server schickt und dieser sie multipliziert und das Ergebnis zurückschickt. Code wie folgt:
Problem: Wenn ich das Ergebnis von 4*9 berechnen lasse funktioniert's, bei 99*9 jedoch nicht. Es scheint bei der Übertragung was nicht zu klappen, da der Server das richtige Ergebnis ausgibt. Auf der Client-Seite printet er jedoch 123 - da kann doch was nicht stimmen?!
Danke!
Code:
import java.net.*;
import java.io.*;
public class Server
{
public static void main( String args[] ) throws IOException
{
ServerSocket server = new ServerSocket( 3141 );
while ( true )
{
Socket client = server.accept();
InputStream in = client.getInputStream();
OutputStream out = client.getOutputStream();
int start = in.read();
int end = in.read();
int result = start * end;
System.out.println(result);
out.write(result);
client.close();
}
}
}
Code:
import java.net.*;
import java.io.*;
public class Client {
public static void main( String args[] ) throws IOException {
Socket server = new Socket ( "localhost", 3141 );
InputStream in = server.getInputStream();
OutputStream out = server.getOutputStream();
out.write( 99 );
out.write( 9 );
int result = in.read();
System.out.println( result );
server.close();
}
}
Problem: Wenn ich das Ergebnis von 4*9 berechnen lasse funktioniert's, bei 99*9 jedoch nicht. Es scheint bei der Übertragung was nicht zu klappen, da der Server das richtige Ergebnis ausgibt. Auf der Client-Seite printet er jedoch 123 - da kann doch was nicht stimmen?!
Danke!