Witam.

Pod http://toxygen.net/libgadu/protocol/ dostępny jest opis protokołu gg.
Udało mi się wysłać zapytanie do serwera, odebrać adres IP i port na który powinienem się zalogować.

Mam jednak problem z dalszą częścią winksmiley.jpg

W punkcie "1.3 Logowanie się" jest:

  1. #define GG_LOGIN80 0x0031
  2.  
  3. struct gg_login80 {
  4. int uin; /* numer Gadu-Gadu */
  5. char language[2]; /* język: "pl" */
  6. char hash_type; /* rodzaj funkcji skrótu hasła */
  7. char hash[64]; /* skrót hasła dopełniony 0 */
  8. int status; /* początkowy status połączenia */
  9. int flags; /* początkowe flagi połączenia */
  10. int features; /* opcje protokołu (0x00000367)*/
  11. int local_ip; /* lokalny adres połączeń bezpośrednich (nieużywany) */
  12. short local_port; /* lokalny port połączeń bezpośrednich (nieużywany) */
  13. int external_ip; /* zewnętrzny adres (nieużywany) */
  14. short external_port; /* zewnętrzny port (nieużywany) */
  15. char image_size; /* maksymalny rozmiar grafiki w KB */
  16. char unknown2; /* 0x64 */
  17. int version_len; /* długość ciągu z wersją (0x23) */
  18. char version[]; /* "Gadu-Gadu Client build 10.0.0.10450" (bez 0) */
  19. int description_size; /* rozmiar opisu */


Mógłby mi ktoś wytłumaczyć w jaki sposób powinienem wysłać taki pakiet? Powinienem to wszystko spakować funkcją pack()? A jeśli tak to w jakim formacie?

Z góry dzięki za pomoc winksmiley.jpg