Вниз
Скачать: 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.017 c
3-38701
Vuk
2004-01-21 14:38
2004.02.13
KEY VIOLATION при выполнении процедуры.


1-38798
niko4543
2004-02-02 09:58
2004.02.13
Тэстирование


1-38934
-=Dev-null=-
2004-02-04 10:22
2004.02.13
Как встроить manifest в ресурсы проги ?


14-39064
xxxx
2004-01-24 20:52
2004.02.13
Это новая версия


14-39015
TGrigory
2004-01-22 22:18
2004.02.13
Компонет для отображения лога чата




   Наверх