Суть проблемы в следующем: написал программку, которая слушает запрос на свой порт, а затем, после обращения к ней клиента, устанавливает соединение с сервером и становится "прозрачной" и для клиента, и для сервера. Схематично выглядит: connect(...); for(;;) { FD_ZERO(...);FD_SET(...);tv.tv_sec = TIMEOUT; tv.tv_usec= 0; while(select(...)) { nbytes = recv() from server; if (nbytes == 0) break; send() to client;} FD_ZERO(...);FD_SET(...);tv.tv_sec = TIMEOUT; tv.tv_usec= 0; while(select(...)) { nbytes = recv() client; send() to server;} } //end for(;;) суть проблемы в следующем - если дать маленький тайм-аут, то кто-либо из участников может не успеть выговорится, и тогда - каюк. Если тайм-аут большой - низкая производительность. Анализировать трафик на наличие CRLF и т.д. - и дорого, и не приведет к универсальности. Кто может подсказать пути решения ? Мой мэйл - gorikh@ingos.ru
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.
Похожие темы
- Форум Помогите найти ошибку в следующем коде!!! (2004)
- Форум сокет. получить данные (2007)
- Форум Непонятки с сокетами (2006)
- Форум Проблема с сокетами (2011)
- Форум IPC с дочерним процессом по pipes. Как читать больше PIPE_BUF за один запрос чтения? (2019)
- Форум Тайм-аут в amavis (2005)
- Форум Sendmail превышен тайм-аут (2006)
- Форум erlang, посылка сообщения с одной ноды на другую. (2010)
- Форум тайм-аут при вызове connect (2012)
- Форум проблемы с сетью «тайм аут» (2010)