|
|
ru.linux- RU.LINUX --------------------------------------------------------------------- From : tmaxgor@blueyonder.co.uk 2:5020/400 06 May 2002 15:20:39 To : Den Kushel Subject : Re: Программерский во прос -------------------------------------------------------------------------------- Den Kushel wrote: > tmaxgor@blueyonder.co.uk wrote: >> Привет народ. >> >> Вот какая задача: >> >> будет на хосте крутиться несколько тысяч(если получиться) процессов, >> которые должны обмениваться короткими текстовыми сообщениями c одним >> выбранным процессом(то есть сервером). >> > Давай разберемся что будет делать сервер с сообщением от клиента: > 1. Передавать другому или всем клиентам? > 2. Куда либо складировать? > > В первом случае IPC не нужен, скорее нужно хранить список доступных > клиентов и желательно в памяти (чтобы быстрее находить нужного), после > этого если клиент активный то и пихай ему мессягу в сеть или посписку > активных раздавай сообщение. Если клиент не активен, то складируй > куда-то сообщения для него. Как видишь тут подходят скорее сокеты нежели > очереди сообщений. Только нужно создавать один сокет на каждого клиента, а очередь может быть одна на всех. > Во втором варианте просто принимаешь сообщение из сети и пишешь > куда-нибудь. И опять очереди сообщений IPC не нужны, а нужны сокеты и в > самом простом случае файлы, в более сложном ODBC, чтобы не зависеть от > конкретной базы данных. Это понятно, базу конечну прикрутим какую нибуть. > >> Вопрос: >> что будет эффективнее: >> 1. Одна очередь сообщения и все слушают ее. >> 2. Много очередей сообщений(для каждого клиентского процесса) >> 3. Обыкновенные пайпы - на каждый клиентский процесс пара пайпов. >> -- Отправлено через сервер Форумы@mail.ru - http://talk.mail.ru --- ifmail v.2.15dev5 * Origin: Talk.Mail.Ru (2:5020/400) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.linux/6488b1639eb7.html, оценка из 5, голосов 10
|