The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]




Версия для распечатки Пред. тема | След. тема
Новые ответы [ Отслеживать ]
Объясните начинающему, !*! крендель, 18-Апр-06, 05:52  [смотреть все]
драсте всем и каждому.
вот кто бы на доступном русском языке (можно с матами)
объяснит мне назначение примитивов select() и poll().
Книги читал, но как то заумно. Объясните пжалста.

И второе. Предположим нужен TCP сервер. При подключении клиента
основной процесс форкает потомка, который обслуживает данного клиента.
А можно ли что бы один процесс обслуживал всех и каждого?!
Как сделать? Где почитать?

Не убивайте за такие вопросы, но все когда то начинали ;)
Спасибо.

  • Объясните начинающему, !*! chip, 11:26 , 18-Апр-06 (1)
    >драсте всем и каждому.
    >вот кто бы на доступном русском языке (можно с матами)
    >объяснит мне назначение примитивов select() и poll().
    >Книги читал, но как то заумно. Объясните пжалста.
    >
    >И второе. Предположим нужен TCP сервер. При подключении клиента
    >основной процесс форкает потомка, который обслуживает данного клиента.
    >А можно ли что бы один процесс обслуживал всех и каждого?!
    >Как сделать? Где почитать?

    На все вопросы ответы найдёте в Стивенсе.

  • Объясните начинающему, !*! nixsys, 17:58 , 18-Апр-06 (2)
    >драсте всем и каждому.
    >вот кто бы на доступном русском языке (можно с матами)
    >объяснит мне назначение примитивов select() и poll().
    >Книги читал, но как то заумно. Объясните пжалста.
    >
    >И второе. Предположим нужен TCP сервер. При подключении клиента
    >основной процесс форкает потомка, который обслуживает данного клиента.
    >А можно ли что бы один процесс обслуживал всех и каждого?!
    >Как сделать? Где почитать?
    >
    >Не убивайте за такие вопросы, но все когда то начинали ;)
    >Спасибо.

    select - мощная функция, действительно описана в Стивенсе.
    Если не охота с ней заморачиваться используй /etc/inetd.conf и /etc/services , т.е. возможности супер-сервера inetd

    http://qnx.org.ru/carticle1.html

  • Объясните начинающему, !*! michelnok, 21:30 , 18-Апр-06 (3)
    1. Книга Уолтона "Создание сетевых приложений в среде Linux. Руководство разработчика" (http://www.ozon.ru/context/detail/id/146260/)

    (уровень и перевод слабые, но для начала пойдет)

    2. Книга Стивенса "UNIX. Разработка сетевых приложений" (http://www.ozon.ru/context/detail/id/1390985/)
    3. Книга Стивенса "Unix. Взаимодействие процессов" (http://www.ozon.ru/context/detail/id/1011815/)

    (это уже "для профессионалов")

    То что "заумно" - так ведь в дороге никто кормить не обещал.
    Сервера писать - это не пасочки лепить, тут надо разбираться :)

  • Объясните начинающему, !*! SSuslov, 10:21 , 19-Апр-06 (4)
    >драсте всем и каждому.
    >вот кто бы на доступном русском языке (можно с матами)
    >объяснит мне назначение примитивов select() и poll().
    >Книги читал, но как то заумно. Объясните пжалста.
    >

    Про poll ничего не скажу, не сталкивался. А вот select, в применении создания серверов, используется для проверки данных в дескрипторе. Т.е. когда создаешь слушающий сокет, тебе нужно как-то отловить момент, когда есть запрос от клиента (попытка подключения). Вот select и проверяет этот факт. А дальше ты либо fork'аешь новый процесс или создаешь поток или посылаешь далеко и надолго этого клиента или что-то еще.

    >И второе. Предположим нужен TCP сервер. При подключении клиента
    >основной процесс форкает потомка, который обслуживает данного клиента.
    >А можно ли что бы один процесс обслуживал всех и каждого?!

    Можешь использовать pthreads (man pthreads или в книгах). Это потоки. Каждый запрос обслуживется в отдельном потоке, но в одном процессе. Я думаю, что можно и по другому организовать взаимодействие, насколько хватит фантазии и умения.

    >Как сделать? Где почитать?
    >
    >Не убивайте за такие вопросы, но все когда то начинали ;)
    >Спасибо.





Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2025 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру