Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.02 c
6-38989
Exciter
2003-12-11 14:28
2004.02.13
Как ужнать, что машина вошла в НЭТ.


1-38839
AMogil
2004-02-02 18:02
2004.02.13
Неправильная кодировка в программе при запуске английском Window


1-38828
grayver
2004-01-24 06:38
2004.02.13
OLE


1-38912
Olivka
2004-02-04 12:21
2004.02.13
Параметры запроса в FIBdataset.UpdateSQL


14-39006
Builder
2004-01-26 22:15
2004.02.13
Компоненты...




   Наверх