Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.02.13;
Скачать: CL | DM;

Вниз

Взаимодействие Клиент - Сервер   Найти похожие ветки 

 
S@shka ©   (2003-12-10 12:48) [0]

Есть серверное приложение к которому соединяются клиентские и передают порцию данных.
Причем порции данных не большие и частота их передачи не более чем раз в 2 минуты.
Вопрос
Я стою приложение следующим образом:
Клиент подключается, передает данные принимает ответ и отключается.
Почему я так делаю - потому что боюсь держать много висящих просто так клиентов. При том что их число может быть более 1000.
Правильно ли я делаю? Или в моих рассуждениях нет разумного.
Исп-ю Indy компоненты. (связь на основе TCP есно)


 
Digitman ©   (2003-12-10 13:03) [1]


> потому что боюсь держать много висящих просто так клиентов


"боюсь" - слишком абстрактное и размытое объяснение
боишься ЧЕГО конкретно ?


 
S@shka ©   (2003-12-10 13:09) [2]

Ну...
под каждое новое соединение создается новый поток.
И соответсвенно серверу приходится их держать.
Если в этом смысл. И на каком потоке сервак заглохнет ?


 
Digitman ©   (2003-12-10 13:32) [3]

"сервак" здесь ни при чем вообще

ограничением явл-ся макс.кол-во код.потоков в контексте процесса и макс.кол-во код.потоков для ОС в целом

кр.того, ограничением явл-ся макс.кол-во одновременно созданных и существующих гнездовых объектов Winsock

если "боишься", то просто реализуй на стороне сервера логику отвержения новых кл.запросов на коннект, если число уже установленных и активных коннектов равно некоему предельно допустимому значению, в твоем случае, скажем, = 1000.


 
atruhin ©   (2003-12-11 07:47) [4]

>>Digitman © Зачем всё это?
S@shka в своем вопросе поступил почти правильно блокирующий сокет и всё. Если небольшие запросы идут часто можно создать несколько потоков обработки и работать через порт завершения TCompletionPort.
Правда под 95 наверно непойдёт.


 
Digitman ©   (2003-12-11 08:15) [5]


> atruhin


ты вообще представляешь, как внутри организован TIdTCPServer ?
чувствуется - слабо



Страницы: 1 вся ветка

Текущий архив: 2004.02.13;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.017 c
14-39053
Piter
2004-01-19 19:13
2004.02.13
Какие компиляторы поддерживают C# ?


1-38864
stas
2004-02-02 09:24
2004.02.13
Метод FreeLibrary


1-38917
Denis_Ac
2004-02-04 07:25
2004.02.13
Абстрактные классы


14-39094
Mox Fulder
2004-01-22 21:30
2004.02.13
FreePascal


3-38703
alless
2004-01-22 15:06
2004.02.13
Boyce - Code