[Comm] Q: Programming sockets in C language troubles
Sergey Vlasov
=?iso-8859-1?q?vsu_=CE=C1_altlinux=2Eru?=
Пн Май 19 16:05:51 MSD 2003
On Mon, May 19, 2003 at 15:38:00 +0400, Andrey Brindeew wrote:
[skip]
> 1. Почему у нас на серверной консоли фигурируют 0, 1 и 2 сокеты (я
> так понимаю, что это stdin, stdout и stderr сервера собственной
> персоной)? Я их в FD_SET не заказывал на прослушивание с помощью
> select. :-(
Там в цикле ещё должна была быть проверка FD_ISSET(i, &read_fd_set).
И обычно вместо FD_SETSIZE ставят max(fd) + 1, чтобы не проверялись
лишние биты.
> 2. Что за мусор идет после подстроки "protocol_com"? Я так понимаю, что
> буфер чтения у сокета заполнился (ибо 12 символов всего), но откуда
> мусор?
А кто будет \0 в конце для printf добавлять?
> 3. Почему сообщение о подсоединении клиента не появилось сразу же после
> того, как я подцепился к серверу с помощью telnet?
Так из-за отсутствия проверки FD_ISSET она и ждала ввода из stdin.
[skip]
Подробная информация о списке рассылки community