На локальном компьютере стоит cамописный socks прокси. И ftp клиент использующий socks.
Все работает. Но есть такая проблема.
При передаче файла через socks прокси — статус передачи в ftp клиенте происходит рывками.
Сразу же мгновенно записывает файл в буффер чтения socks прокси, и в статусе какбудто сразу например 1.5 мегабайта передано.
Вопрос как отключить данное кеширование? Так чтобы пока я данные не выбрал c помощью recv, то данные в буффер не поступали?
OS: Vista
Прием с
DWORD sndsize=1500;
int err;
err = setsockopt(lc_my_socket, SOL_SOCKET, SO_SNDBUF, (char *)&sndsize, (int)sizeof(sndsize));
err = setsockopt(lc_my_socket, SOL_SOCKET, SO_RCVLOWAT, (char *)&sndsize, (int)sizeof(sndsize));
err = setsockopt(lc_my_socket, SOL_SOCKET, SO_RCVBUF, (char *)&sndsize, (int)sizeof(sndsize));
не помогает.
PS :
Пробовал продукт 3proxy, отуда брал socks, проблема аналогичная, сразу же забивается почти 2 мегабайта в сетевые буфера и потом
socks плавно отдает информацию в глобал, а в самом ftp клиенте статус зависает.
В фаерволе интересная статистика получается: Приложение данные передало, а socks проси данные не принял, т.к. принимает их по мере необходимости.
Использовал sock прокси локально, на всех была подобная проблема. Возможно виноват именно Localhost?
Между двумя локальными машинами проблема повторяется?