BinaryReader.ReadString kompatibles Beispiel zu Java

  • VB.NET
  • .NET 4.5

Es gibt 5 Antworten in diesem Thema. Der letzte Beitrag () ist von Rootbob91.

    BinaryReader.ReadString kompatibles Beispiel zu Java

    Hallo,

    ich suche eine Möglichkeit einen String aus Java zu senden, der den Erwartungen der BinaryReader.ReadString()-Methode entspricht.

    (Das Senden an sich, den Aufbau der Verbindung etc. habe ich erledigt, allerdings weiß ich nicht wie ein kompatibler String aus Java aussehen muss)
    Polling is trolling!

    Achtung: Ich habe die komische Angewohnheit, simple Dinge zu verkomplizieren..

    Java-Quellcode

    1. String text;
    2. int len = text.length();
    3. len = ((len & 0xFFFF) << 16) | ((len >> 16) & 0xFFFF); // BigEndian->LittleEndian
    4. //int als Bytes senden
    5. //string senden
    Ich wollte auch mal ne total überflüssige Signatur:
    ---Leer---
    Hey @jvbsl, hatte es in der Zeit schon hinbekommen, aber danke :)..

    Hab es jetzt im Java-Client so gelöst:

    Java-Quellcode

    1. public void sendMessage(String message) {
    2. if (out != null && !out.checkError()) {
    3. out.write(message.length());
    4. out.write(message);
    5. out.flush();
    6. }
    7. }


    Hab jetzt nur noch ein letztes Problem. Ich möchte nun gerne vom Windows-Client die Nachricht an den Java Client schicken, dass geht nur mit einem & vbCrlf am Ende der Nachricht, da im Java-Client mit:

    Java-Quellcode

    1. while (mRun) {
    2. serverMessage = in.readLine();
    3. if (serverMessage != null && mMessageListener != null) {
    4. // call the method messageReceived from MyActivity class
    5. mMessageListener.messageReceived(serverMessage);
    6. }
    7. serverMessage = null;
    8. }

    Die Nachricht ausgelesen wird und dabei ein 'End of Line'/Linefeed etc. erwartet wird.

    Wie kann ich den Java-Clienten die Nachricht ohne dieses & vbCrlf gefrimel empfangen lassen?
    Mein bisheriger Versuch mit der BufferedReader.Read Methode wurde nie erkannt, also hat nicht geklappt, als ob der Client keine Nachricht bekommen würde.
    Polling is trolling!

    Achtung: Ich habe die komische Angewohnheit, simple Dinge zu verkomplizieren..
    @ErfinderDesRades: Hatte ich auch schonmal gestartet gehabt, aber nach den Versuchen gestern Nacht noch denke ich mir, dass es tatsächlich einfacher ist einfach unter den Clienten zu unterscheiden.

    Ich möchte natürlich so oder so einen kleinen Überblick haben wer auf dem Server verbunden ist und natürlich auch welche OS dieser User hat.
    Ich sende jetzt einfach direkt nach der Verbindung eine kleine Info, damit ich später, wenn der Server alles weiterleiten soll unterscheiden kann, welcher Client was benötigt.

    Bei nem Android Client kommt jetzt halt ein & vbCrlf mit und bei normalen Windows Clients halt nicht.

    Danke soweit für eure Antworten :)!
    Polling is trolling!

    Achtung: Ich habe die komische Angewohnheit, simple Dinge zu verkomplizieren..