002
25.03.2008, 15:52 Uhr
~MartinF
Gast
|
Hallo zusammen,
ich habe auch eine Frage zur Client/Server-Kommunikation über TCP/IP-Socket, sodass ich keinen neuen Beitrag erstellt habe.
Die Frage habe ich bereits woanders, www.c-plusplus.de/forum/viewtopic-var-t-is-208596.html, gestellt, jedoch noch keine hilfreiche Antwort erhalten.
Zitat: |
Hallo zusammen,
Das Programm Client soll eine Zeichenkette an das Programm Server senden, welches diese auf der Kommandozeile ausgibt.
import java.net.*; import java.io.*;
C++: |
public class Client { public static void main(String[] args) { try {
Socket socket = new Socket("localhost", 5005); DataOutputStream os = new DataOutputStream(socket.getOutputStream());
os.writeChars("Wieder ein langweiliger Standardspruch\n");
os.close(); socket.close();
} catch (IOException e) { /* ... */ } } }
|
C++: |
import java.net.*; import java.io.*;
public class Server { public static void main(String[] args) { try {
ServerSocket server = new ServerSocket(5005); Socket socket = server.accept(); BufferedReader is = new BufferedReader( new InputStreamReader(socket.getInputStream()));
String req = is.readLine(); // Hier wird alles korrekt ausgegeben ... System.out.println(req); // aber folgendes funktioniert nicht: String s = "Wieder ein langweiliger Standardspruch"; if (req.equals(s)) System.out.println('='); // wird nicht ausgegeben System.out.println(req.compareTo(s)); // Ausgabe: -87
is.close(); socket.close();
} catch (IOException e) { /* ... */ } } }
|
Die Zeichenkette wird richtig auf der Konsole ausgegeben, nur der Vergleich mit equals bzw. compareTo funktioniert nicht. Weiß jemand woran das liegt?
|
Grüße Martin |