Hallo,
wie kann ich mehr als charwert versenden ?
Hab folgendes quelltext
Code:
// Client
import java.io.*;
import java.net.*;
public class client_main {
public static int port = 3141;
public static String host = "localhost";
public static void main(String[] args) throws IOException{
Socket server = new Socket ( host, port );
InputStream in = server.getInputStream();
OutputStream out = server.getOutputStream();
// eingabe text = new eingabe();
// text.text_eingabe(); // Hier wird der eingegebene Text Zurückgegeben
out.write( 5 );
out.write( 2 );
int result = in.read();
System.out.println( result );
server.close();
}
}
//Server
public class server_main {
public static int port = 3141;
public static void main(String[] args) throws IOException{
ServerSocket server = new ServerSocket( port );
while ( true )
{
Socket client = server.accept();
InputStream in = client.getInputStream();
OutputStream out = client.getOutputStream();
int start = in.read();
int end = in.read();
System.out.println("Wert 1: " +start);
System.out.println("Wert 2: " +end);
int result = start * end;
System.out.println("Erg: " +result);
out.write( result );
client.close();
}
}
}
Optimal währe natürlich ein link zu einem gutem tutorial wo beschrieben wird wie ich größere pakete per TCP/IP versende
// Server
package javachat;
import java.io.*;
import java.util.*;
import java.net.*;
public class server_main {
public static void main(String[] args) throws IOException{
ServerSocket server = new ServerSocket( 3141 );
while (true)
{
Socket client = server.accept();
BufferedReader in = new BufferedReader(new InputStreamReader(client.getInputStream()));
BufferedWriter out = new BufferedWriter(new OutputStreamWriter(client.getOutputStream()));
String inputWert = in.readLine();
System.out.println("Eingegangener wert: " +inputWert);
out.write("Angekommen");
out.flush();
client.close();
}
}
}
// Client
package javachat;
import java.io.*;
import java.util.*;
import java.net.*;
public class client_main {
public static void main(String[] args) throws IOException{
Socket server = new Socket ( "localhost", 3141 );
BufferedReader in = new BufferedReader(new InputStreamReader(server.getInputStream()));
BufferedWriter out = new BufferedWriter(new OutputStreamWriter(server.getOutputStream()));
out.write("Test");
out.flush();
String result = in.readLine();
System.out.println(result);
server.close();
}
}
Aber irgendwie läuft das noch nicht so ganz :/ Es kommen zwar keine Fehler aber der Client wartet auch auf irgendwas, und versendet nichts, dabei sollte er was versenden und sich wieder schließen.
Wenn ich mir deinen Code nochmal anschaue, sehe ich dein Problem. Recht simpel ...
Du liest eine Zeile mit readLine(). Aber nur "Test" ist "keine Zeile", da am Ende kein "\n" ist. Also entweder byte-weiße lesen oder nen \n hintendran :bae: