Witam. Udało mi się wczoraj z pewnym trudem odpalić przesyłanie plików pod Kadu. Problem był w tym, że w przypadku wywołania metody gg_dcc7_send_file otrzymujemy strukturę gg_dcc7 z deskryptorem -1, który jest zmieniany na prawidłowy dopiero po pewnym czasie (jak już libgadu się zoreintuje, że druga strona chce ten plik odebrać). Niestety Kadu nie jest informowane o tym, w którym momencie ten deskryptor jest ustawiany (a jak jest informowane, to ja nie wiem gdzie :( ).
W przypadku testowego klienta w test/manual/dcc7 nie ma tego problemu, bo ten klient robi selecta po wszystkich deskryptorach jakie zna w jednej wspólnej pętli zdarzeń i moment ustawienia dcc7->fd nie jest dla niego taki ważny. Po dodaniu emulacji tego zachowania dla Kadu (socketEvent() na głównym deskryptorze wywołuje ręcznie socketEvent() na wszystkich połączeniach bezpośrednich jakie mamy, co skutkuje wywołaniem gg_dcc7_watch_fd) wysyłanie i odbieranie plików działa, jednak nie jest to rozwiązanie, jakie chciałbym zostawić w kodzie. Dlatego byłbym wdzieczny za jakiś event na głównym sockecie libgadu informujący o tym, że fd dla tej-a-tej struktury dcc7 został ustawiony na inny niż -1. Pozdrawiam Rafał Malinowski _______________________________________________ libgadu-devel mailing list [email protected] http://lists.ziew.org/mailman/listinfo/libgadu-devel
