From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Date: Mon, 19 May 2003 16:05:51 +0400 From: Sergey Vlasov To: ALT Linux community Subject: Re: [Comm] Q: Programming sockets in C language troubles Message-ID: <20030519120551.GA4186@vcserver.mivlgu.local> Mail-Followup-To: ALT Linux community References: <20030519113800.GA18016@abr.tool.ru> Mime-Version: 1.0 Content-Type: text/plain; charset=koi8-r Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: <20030519113800.GA18016@abr.tool.ru> Sender: community-admin@altlinux.ru Errors-To: community-admin@altlinux.ru X-BeenThere: community@altlinux.ru X-Mailman-Version: 2.0.9 Precedence: bulk Reply-To: community@altlinux.ru List-Unsubscribe: , List-Id: List-Post: List-Help: List-Subscribe: , List-Archive: Archived-At: List-Archive: List-Post: 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]