Dnia 2011-04-11, pon o godzinie 22:21 +0200, Rafał Malinowski pisze: > Które z poniższych zmiennych są wykorzystywane przy połączeniach dcc7: > > gg_dcc_ip (to chyba na pewno, bez ustawienia tego na 0xffffffff > przesyłanie w kadu nie działa w ogóle) > gg_dcc_port (to chyba nie) > gg_local_ip (to nie wiem nawet po co jest..) > gg_login_params.external_addr > gg_login_params.external_port > > W dokumentacji do dcc6 jest napisane że gg_dcc_ip i gg_dcc_port są > wykorzystywane, w dokumentacji dcc7 nie ma nic na ten temat. Może źle > szukam?
Dobrze szukasz, po prostu dokumentacja jest kiepska. To gg_dcc_ip nie ma już w ogóle sensu, więc wrzuciłem przed chwilą poprawkę, która to porządkuje. Cytując opis commita: Będziemy nasłuchiwać na .client_addr i .client_port. Jeśli będą puste, to słuchamy na wszystkich interfejsach i losowym porcie. Na zewnątrz będziemy wysyłać .external_addr i .external_port, jeśli zostały ustawione. Jeśli nie, to wysyłamy adres, z którego łączymy się z serwerem i port, na którym nasłuchujemy. gg_dcc_ip przestaje mieć znaczenie, bo domyślnie wszystko powinno zadziałać automatycznie. A ze względu na losowość portu, ustawienie .client_port na konkretną wartość, póki co, może spowodować więcej szkód niż pożytku. Kolejnemu połączeniu nie uda się już nasłuchiwać na tym samym porcie. Trzeba będzie dopisać jakiś mechanizm, który pozwoli stworzyć gniazdo raz i wykorzystać je do wszystkich połączeń. Dzięki temu ludzie za NAT-ami nad którymi mają kontrolę będą mogli bez problemu przesyłać pliki bez pośrednictwa serwera. Pozdr, Wojtek _______________________________________________ libgadu-devel mailing list [email protected] http://lists.ziew.org/mailman/listinfo/libgadu-devel
