|
|
ru.unix.bsd- RU.UNIX.BSD ------------------------------------------------------------------ From : Igor 2:5020/400 17 Feb 2003 19:29:23 To : All Subject : TCP socket --------------------------------------------------------------------------------
Привет All,
пытаюсь написать TCP сервер, слушающий некоторый порт и принимающий
соединения от произвольного числа клиентов.
Я так понимаю, что лучше всего это реализовывать через select()
Если клиент один, то проблем нет, делаю
while(1){
select(FD_SETSIZE,&active_fd_set,NULL,NULL,NULL);
if(FD_ISSET(sd,&active_fd_set)){
ns=accept(sd,(struct sockaddr *)&from,&fromlen);
printf("Accept code:%d\n",ns);
FD_SET(ns,&active_fd_set);
read_from_client(ns); // функция читающая данные
}
if(FD_ISSET(ns,&active_fd_set)){
read_from_client(ns);
}
}//while
подскажите как сделать сервер "гибким", т.е. способным принимать
соединения и читать данные от нескольких клиентов одновременно?
man-ы штудировал, но ясности не наступило.
Система FreeBSD-4.7R
Igor
--- ifmail v.2.15dev5
* Origin: Global Ukraine free NNTP site (2:5020/400)
Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.unix.bsd/5138d9cdc69e.html, оценка из 5, голосов 10
|