Witam. Prosze o pomoc - bawie sie wlasnie protokolem gg i przy wysylaniu pakietu logowania musze podac IP w postaci Integer'a jak mam ją uzyskać :> Wydaje mi się że może trzeba zamienić wszystkie 4 bajty z postaci dziesietnej na postać hexadecymalną tzn. np. ip - 255.128.255.128 - wysylam FF80FF80 ale pewnie mowie bzdury wiec mnie poprawcie :P
IP zapisany jako:
NR1 . NR2 . NR3 . NR4
przedstawiamy jako:
(NR1 * 256?) + (NR2 * 256?) + (NR3 * 256) + (NR4)
(NR1 * 16777216) + (NR2 * 65536) + (NR3 * 256) + (NR4)
Podaj IP (i Local i External) jako 0. :P
Nex napisał(a)
Podaj IP (i Local i External) jako 0. :P
Hmm... a skad server bedzie wiedzial pod jaki adres kierowac pakiety kierowane do mnie - np. wiadomosci ? :> :)
Napisałem komponent do obsługi GG, aktualnie uzywam go w moim programie. Oba IP podaję jako 0 i wszystko działa. Nie wiem jak przesyłanie plików, rozmowy głosowe i inne bardziej zaawansowane opcje (nie dodałem ich jeszcze), ale do "normalnych" rozmów IP 0 nie stanowi przeszkody.
A sam serwer GG identyfikuje użytkowników na podstawie numerów (moim zdaniem).
Dzieki bardzo za odpowiedzi :) A mógłbyś mi jeszcze powiedziec jak sie ma sprawa jesli chodzi o porty ? Tzn. czy ich wartość ma jakieś znaczenie ? Bo przeciez z serverem gg komunikujesz sie i tak po innym porcie niz tam podajesz :)
Porty podawane w pakiecie logowania służą do połączeń bezopośrednich między już zalogowanymi klientami. Tak więc mają znaczenie tylko przy połączeniach bezpośrednich (rozmowy głosowe, przesyłanie plików, itd. :D).
Jeszcze raz dzieki wielkie za pomoc :) [browar]
pm_coder napisał(a)
np. ip - 255.128.255.128 - wysylam FF80FF80 ale pewnie mowie bzdury wiec mnie poprawcie :P
dobrze, na jedno wychodzi przy zamianie IP $ff80ff80 = 2552563 + 128256</sup>2 + 255 * 256 + 128
prgtw napisał(a)
IP zapisany jako:
NR1 . NR2 . NR3 . NR4
przedstawiamy jako:
ja bym powiedział, że dokładnie na odwrót - IP jest zapisane właśnie jako cztery bajty, a my przedstawiamy dla uproszczenia w czterech liczbach oddzielonych kropkami
a chyba ten cały "Inwilgator" z PGG kieruje się adresem IP który chcesz właśnie podać
Adamo napisał(a)
dobrze, na jedno wychodzi przy zamianie IP $ff80ff80 = 2552563 + 128256</sup>2 + 255 * 256 + 128
No tak, faktycznie, dzieki ;)
Adamo napisał(a)
ja bym powiedział, że dokładnie na odwrót - IP jest zapisane właśnie jako cztery bajty, a my przedstawiamy dla uproszczenia w czterech liczbach oddzielonych kropkami
Chodziło mi o to że taki IP możemy przedstawić w następujący sposób podany przeze mnie powyżej ;).
A co do samego IP to komputer IP traktuje i zapisuje (najczęściej) jak integer (chyba że programy zrealizują to inaczej np. jako rekord 4 pól typu byte) a dla wygody przedstawiamy jako 4 bajty oddzielony kropkami (dla czytelności) - dla sprostowania.