![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 94 Pomógł: 9 Dołączył: 11.10.2010 Skąd: Kraków Ostrzeżenie: (0%) ![]() ![]() |
Cześć.
Wchodzę w sockety i po dawce teorii, chcę stworzyć klienta który będzie się łączył z pewnym serwerem i wysyłał socketa opisanego w specyfikacji tego serwera (IMG:style_emoticons/default/smile.gif)
Specyfikacja jak widać napisana jest pseudokodem. Komunikacja odbywa się w postaci plain-text. Czy ktoś mógł by mnie nakierować/pokazać jak w praktyce tworzyć takie sockety np. z takiego opisu? Żebym na następnych mógł się wprawiać bez błądzenia. Z góry dzięki i pozdro (IMG:style_emoticons/default/smile.gif) |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 94 Pomógł: 9 Dołączył: 11.10.2010 Skąd: Kraków Ostrzeżenie: (0%) ![]() ![]() |
@redeemer dzięki! (IMG:style_emoticons/default/smile.gif)
Musiałem jeszcze raz wczytać się głębiej w dokumentację protokołu po przeczytaniu Twojego posta i ruszyłem dalej, jednak tu pojawił się kolejny problem. Cały myk ma polegać na tym by połączyć się z serwerem chata, zalogować i tyle. Sniffowałem pewien programik który wykonuje taką operację i odczytałem sobie poprawną treść pakietu logującego: [00 00 00 88] - długość [00 01] - ilość intów, [00 08] - ilość stringów 05 78 00 0C 44 75 63 68 5F 48 ........ itd. Pierwsza wartość ma być 32 bitowym intem, więc funkcją pack konwertuję to na big endian 32 bit natomiast druga i trzecia mają być spakowane w big endian 16bit. Do tego dochodzi specyficzna budowa stringów, na których początku ma być ich długość w BE 16 bit. Wszystko fajnie, ale (problem zacząłem dostrzegać wcześniej, ale chciałem potwierdzić) jak wysyłam otrzymany ciąg przez fwrite/socket_write zostaje on automatycznie (ponownie z resztą) zamieniony na hexadecymalny i wychodzi z tego oczywiście bełkot, przez który nie dostaję odpowiedzi serwera: 30 30 20 30 30 20 30 30 20 38 38 20 30 30 20 30 .... itd Jak wysłać poprawnie ten pakiet? Ten post edytował jakub.drag 1.08.2015, 18:52:30 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 12.10.2025 - 02:38 |