Marius Heil
Erfahrenes Mitglied
Hallo,
bin gerade dabei einen Java Socket Server zu schreiben, der mit Flash verbinden soll.
Wenn ich das ganze über localhost teste funktioniert alles eindwandfrei. Wenn ich das aber übers Internet laufen lasse, sprich zu meiner eigenen IP verbinde bekomme ich:
Receive: Return Code: 0x00002733
Dadurch meldet mir Flash einen EOF Error, obwohl er noch einen String einlesen sollte. In Java schreibe ich die Daten mittels writeByte, writeUTF, etc...
IN Flash wird das mit den Gegenstücken ausgelesen: reatByte / readUTF, etc.
Als erstes sender der Java server einen Byte für die auszuführende Aktion, dann wird der String übermittelt. Wenn ich die Verbindung überwache sieht das so aus:
Warum schickt Java die Aktion zuerst los, produziert einen Error und dann erst den String?
Kann ich Java dazu überreden, dass das ganze erst nach flush() abgeschickt wird?
Läuft alles über DataInput/OutputStream.
Gruß,
Marius
bin gerade dabei einen Java Socket Server zu schreiben, der mit Flash verbinden soll.
Wenn ich das ganze über localhost teste funktioniert alles eindwandfrei. Wenn ich das aber übers Internet laufen lasse, sprich zu meiner eigenen IP verbinde bekomme ich:
Receive: Return Code: 0x00002733
Dadurch meldet mir Flash einen EOF Error, obwohl er noch einen String einlesen sollte. In Java schreibe ich die Daten mittels writeByte, writeUTF, etc...
IN Flash wird das mit den Gegenstücken ausgelesen: reatByte / readUTF, etc.
Als erstes sender der Java server einen Byte für die auszuführende Aktion, dann wird der String übermittelt. Wenn ich die Verbindung überwache sieht das so aus:
Als erstes schickt Flash an Java was passieren soll, dann meldet sich Java mit einem Byte das die auszuführende Aktion angibt. Danach kommt der Fehler und Schlussendlich wird der String doch korrekt übermittelt.Send: Return Code: 0x00000000
00000000 02 00 09 73 64 66 73 64 66 73 64 66 ...sdfsdfsdf
Receive: Return Code: 0x00000000
00000000 FE .
Receive: Return Code: 0x00002733
Receive: Return Code: 0x00000000
00000000 00 09 73 64 66 73 64 66 73 64 66 ..sdfsdfsdf
Warum schickt Java die Aktion zuerst los, produziert einen Error und dann erst den String?
Kann ich Java dazu überreden, dass das ganze erst nach flush() abgeschickt wird?
Läuft alles über DataInput/OutputStream.
Gruß,
Marius