Ryu1991
Erfahrenes Mitglied
Hey,
im Moment versuche ich OSCAR (das ist das Aim-Chatprotokoll) in Java zu implementieren.
Und habe dabei ein Problem, was mich echt zum verzweifeln bringt.
Und zwar sendet mein Programm an einem gewissen Punkt ein Packet, was die Verbindung beendet, und ich weiß nicht wo es herkommt, ich hab das sicherlich nicht programmiert.
Das merkwürdige ist halt, dass der selbe Code die ganze Zeit eigentlich funktioniert hat.
Und dazu kommt, dass mein Programm intern gar nicht merkt, dass die Verbindung geschlossen wird.
Das habe ich erst im Wireshark gesehen.
In meinem Programm habe ich so eine Art Debug-log, der sieht so aus:
Ich wollte das Aim Generic, Capabilities - packet aus dem Wireshark, dem das [RST, ACK] Packet folgt, rot markieren, aber das klappt nicht, deswegen habe ich jetzt einfach eine --------------- abgrenzung in den Log eingefügt dafür.
Wie ihr sehen könnt macht mein Programm trotzdem frohen Mutes weiter, und schmiert dann etwas später wegen einer nicht protokolgemäßen Antwort ab.
Und wie gesagt, ich stehe leider 100% im Regen, was die Frage angeht, wo das herkommt, oder wie ich das Problem lösen kann.
gruß Ryu
EDIT:
Eine Sache habe ich vergessen, als ich versucht habe das zu debuggen kam einmal genau das raus was rauskommen sollte, und nicht dieser Verbindungsabbruchm könnte also irgendws zeitlich bedingtes sein.
Ich habe allerdings schon dafür gesorgt, dass zwischen 2 Packets die gesendet werden mindestens 50ms gewartet werden.
im Moment versuche ich OSCAR (das ist das Aim-Chatprotokoll) in Java zu implementieren.
Und habe dabei ein Problem, was mich echt zum verzweifeln bringt.
Und zwar sendet mein Programm an einem gewissen Punkt ein Packet, was die Verbindung beendet, und ich weiß nicht wo es herkommt, ich hab das sicherlich nicht programmiert.
Das merkwürdige ist halt, dass der selbe Code die ganze Zeit eigentlich funktioniert hat.
Und dazu kommt, dass mein Programm intern gar nicht merkt, dass die Verbindung geschlossen wird.
Das habe ich erst im Wireshark gesehen.
In meinem Programm habe ich so eine Art Debug-log, der sieht so aus:
Code:
Start preparing Package for LoginRequest
Connecting to login.icq.com
Connected, reading WelcomePacket now
Reading FLAP_Header
Header ret
Start to read Body, size: 4
Body ret
packet ret, sending CLI_Ident now
Start Creating FLAP_Packet
Done creating Package 1
[2A, 1, 0, 1, 0, 5B, 0, 0, 0, 1, 0, 1, 0, 9, 36, 32, 39, 37, 30, 37, 39, 38, 39, 0, 2, 0, 6, FFFFFF92, 48, FFFFFFE5, FFFFFFA1, 4F, FFFFFFB7, 0, 3, 0, A, 49, 43, 51, 20, 43, 6C, 69, 65, 6E, 74, 0, 16, 0, 2, 1, A, 0, 17, 0, 2, 0, 14, 0, 18, 0, 2, 0, 34, 0, 19, 0, 2, 0, 0, 0, 1A, 0, 2, C, 18, 0, 14, 0, 4, 0, 0, 6, 11, 0, F, 0, 2, 64, 65, 0, E, 0, 2, 64, 65]
Succesfully sent Package 1
Sending succeed, waiting for response ...
Reading FLAP_Header
Header ret
Start to read Body, size: 292
Body ret
Response recieved
Disconnecting from login-server ...
Disconnected
BOS-IP: 64.12.30.2:5190
Start Connecting to BOS now ...
Reading FLAP_Header
Header ret
Start to read Body, size: 4
Body ret
Connected
Sending CLI_COOKIE
Start Creating FLAP_Packet
Done creating Package 1
[2A, 1, 0, 1, 1, 8, 0, 0, 0, 1, 0, 6, 1, 0, 37, 39, FFFFFFCB, FFFFFF9A, 57, FFFFFFE4, FFFFFFAD, 2D, 5A, FFFFFFC4, FFFFFFBD, FFFFFFC4, 29, 77, 7D, FFFFFFAD, FFFFFFFE, FFFFFFF2, FFFFFF88, FFFFFF8B, 51, FFFFFFD5, 4C, FFFFFFDD, FFFFFF90, FFFFFFC3, 2E, FFFFFFF4, FFFFFFEE, FFFFFF97, FFFFFFEC, FFFFFFE8, FFFFFFF8, B, 31, FFFFFFEA, FFFFFFFD, 4E, FFFFFF86, FFFFFFF6, FFFFFFFD, 56, 1E, 46, 52, FFFFFFCA, 3B, 5E, 29, FFFFFF81, 11, FFFFFFD4, FFFFFFCB, FFFFFF91, 1C, FFFFFFD3, 7F, FFFFFFA8, FFFFFF93, FFFFFFD6, 33, 55, FFFFFFCE, FFFFFF9E, FFFFFFB1, 73, FFFFFFAC, FFFFFFB5, FFFFFFCB, 42, 3D, FFFFFFBA, FFFFFFD2, 26, FFFFFFFC, 22, 66, 2B, FFFFFFBD, 34, FFFFFFF8, FFFFFFC3, FFFFFF93, 4B, FFFFFFA0, 5A, 72, 2, 7F, 4F, FFFFFFBE, FFFFFFFB, 58, FFFFFFD8, 14, FFFFFFB4, 5D, FFFFFFDC, 3A, FFFFFF80, 18, 66, FFFFFFF7, 2D, 34, 48, 74, FFFFFFF3, FFFFFFD9, 20, FFFFFFD2, FFFFFFE7, 1, 1E, 35, FFFFFFB2, 4D, FFFFFFF9, FFFFFF97, FFFFFFF1, FFFFFFA0, 52, 67, FFFFFF98, FFFFFF98, 5B, 7D, 3B, FFFFFFF4, FFFFFFAB, FFFFFF8E, 33, 34, 4C, 26, 60, FFFFFFB3, FFFFFF9E, 4B, FFFFFFB5, FFFFFFEB, FFFFFFD7, 31, 30, FFFFFFAF, 31, FFFFFF95, 51, 15, 6B, FFFFFFA5, FFFFFFDA, 6, 2D, 50, FFFFFFB3, 33, 5E, 44, 3B, 5D, 27, 2F, F, 76, 5, FFFFFFA1, 34, 9, FFFFFFC7, 56, 12, 79, 51, FFFFFFFA, FFFFFFB2, FFFFFFB3, FFFFFFC5, FFFFFFFA, FFFFFFB8, FFFFFFF0, FFFFFFBC, 4C, 15, FFFFFFDA, 35, FFFFFFA9, 19, FFFFFF9E, 9, FFFFFFC3, FFFFFF99, FFFFFFBF, FFFFFFAB, FFFFFF98, F, 65, FFFFFF9C, FFFFFFBB, FFFFFFF9, 0, 11, 5A, 40, FFFFFFF6, 38, 50, FFFFFF8D, 11, FFFFFFBA, FFFFFF8E, FFFFFFBF, 25, FFFFFFC6, FFFFFF88, 26, 59, 3, FFFFFF92, FFFFFF95, 73, 4C, 27, FFFFFFD0, FFFFFFA2, 46, FFFFFFAB, FFFFFFFB, FFFFFF91, 7C, FFFFFFC3, 1, FFFFFFCC, 3E, FFFFFF83, FFFFFF84, 3B, 10, FFFFFF90, FFFFFF9D, 62, 36, 49, B, 65, 48, 1B, 5, FFFFFFD4, 7A, FFFFFFEF, FFFFFFB5, 36, 58, FFFFFFFC, 7D]
Succesfully sent Package 1
Packet sent
Reading FLAP_Header
Header ret
Start to read Body, size: 38
Body ret
-----------------
Starting Sending Family Requests for: [1, 3, 4]
Sent
Start Creating FLAP_Packet
Done creating Package 2
[2A, 2, 0, 2, 0, 16, 0, 1, 0, 17, 0, 0, 0, 0, 0, 0, 0, 1, 0, 4, 0, 3, 0, 1, 0, 4, 0, 1]
Succesfully sent Package 2
------------------------------
Reading FLAP_Header
Header ret
Start to read Body, size: 155
Body ret
Sending Rates_Request ...
Start Creating FLAP_Packet
Done creating Package 3
[2A, 2, 0, 3, 0, A, 0, 1, 0, 6, 0, 0, 0, 0, 0, 6]
Succesfully sent Package 3
... sent
Waiting for Server Rate Limit Info
Reading FLAP_Header
Header ret
EXCEPTION: Protokoll Error in readFlapPacket expected new FLAP_Package, but didnt get it
Wie ihr sehen könnt macht mein Programm trotzdem frohen Mutes weiter, und schmiert dann etwas später wegen einer nicht protokolgemäßen Antwort ab.
Und wie gesagt, ich stehe leider 100% im Regen, was die Frage angeht, wo das herkommt, oder wie ich das Problem lösen kann.
gruß Ryu
EDIT:
Eine Sache habe ich vergessen, als ich versucht habe das zu debuggen kam einmal genau das raus was rauskommen sollte, und nicht dieser Verbindungsabbruchm könnte also irgendws zeitlich bedingtes sein.
Ich habe allerdings schon dafür gesorgt, dass zwischen 2 Packets die gesendet werden mindestens 50ms gewartet werden.
Zuletzt bearbeitet: