Irgendwie stehe ich grad auf dem Schlauch.
Ich habe angefangen einen eigenen Clienten zu schreiben, nur irgendwie kriege ich das Handshaking nicht hin, da der Server das Paket komischerweise anders "intepretiert".
Ich verwende die Modifizierte Banana-Version von Bizzi.
Server-Log:
Loading butler
Loading channel styles
Loading channels
Loading smileys
Starting FlashPolicyServer
Listening on port 2710 (Websocket: 2711)
p
Unhandled opcode: 'p'
Client-Log:
init
\0
t\0V9.0bad\0http://localhost/index.php?page=chat&v=90bad2&c=0\08\01.7.0_04\0-\053741\0Java HotSpot(TM) Client VM\0-
Wie man der Log entnehmen kann, wird zwar das Handshake-Paket "t" gesendet, der Server empfängt das ganze aber irgendwie als "p".
Hab erst gedacht, dass es vllt. ein Charset-Problem sein könnte, aber im Gegenteil. Beide Applikationen laufen unter UTF-8. Ein forcen auf UTF-8 funktioniert hier auch keines weges (beispielsweise über
new String(..., "UTF-8"); bzw.
getBytes("UTF-8");)
Hat vielleicht jemand eine Idee? Source des Clienten ist angehangen.
Edit:
Ich habe nun mal im PacketBuilder den Cast von writeByte von char auf byte gesetzt, und bekomme Serverseitig nun folgende Log:
Loading butler
Loading channel styles
Loading channels
Loading smileys
Starting FlashPolicyServer
Listening on port 2710 (Websocket: 2711)
New Client
New Client
[IN] pt0V9.0bad0http://localhost/index.php?page=
Unhandled opcode: 'pt0V9.0bad0http://localhost/index.php?page='
Das lässt darauf schließen, dass es wohl am Initalisieren der Connection liegt. Es wird ja normalerweise erst 0x00 Byte gesendet, um in den Client-Mechanismus zu gelangen, 0x02 wäre ja beispielsweise die die Registration.
Und ich glaub ich weiß nun auch, wie ich das ganze Löse. Ich gehe einfach hin und entferne getConnectionType() und setze einfach dies zuvor bei getHandShake() vorran. Mal testen...
Edit 2:
Selbst dies löst das Problem nicht.
Ich bekomme zwar nun die Channnel-List zurückgeworfen, da stimmt aber dennoch was nicht:
Loading butler
Loading channel styles
Loading channels
Loading smileys
Starting FlashPolicyServer
Listening on port 2710 (Websocket: 2711)
New Client
New Client
[IN] q
[IN] t
5 Banana
( xyz Lobby
b Lobby
1 p B - Mafia
1 p B -
[IN] V
Unhandled opcode: 'V'
[IN] .0bad