Cześć :)
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. Oczywiście reszta jest przekonwertowana na hexy.
Wszystko fajnie, ale 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:

30 30 20 30 30 20 30 30 20 38 38 20 30 30 20 30 .... itd

przez który nie dostaję odpowiedzi serwera, oczekującego pakietu w odpowiedniej formie (tej co sobie wygenerowałem już)
Jak wysłać poprawnie ten pakiet? :|