[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