-
> RGV © (10.09.11 03:46) [39]
Может не совсем грамотно выразился, но думаю смысл понятен.
> DVM © (09.09.11 10:38) [31]
Пытаюсь разобраться в работе TWSocketServer из ICS
там есть такое свойство MultiThreaded, она включает многопоточность? Т.е все события у TWSocketClient вызываются из их собственного потока? и скорее всего эти события вызываются без Synchroninize.
Спасибо за вашу помощь.
-
> [29] DVM © (08.09.11 23:25)
очень даже подходит, для клиентов уж точно. для сервера тоже подойдет, если клиентов не тысячи. а касаемо асинхронности - просто нужно четко разделить работу с сетью и остальную логику работы программы, в т.ч. UI. соединение должно быть в отдельном потоке и работать с очередью сообщений, посылаемых из UI и остальной части программы.
-
> Eraser © (10.09.11 16:06) [41]
> очень даже подходит
Выделять цельный поток для каждого из, скажем, 1000 клиентов, большинство из которых 99.99% времени ничего не передают - расточительно.
> RGV © (10.09.11 06:41) [40]
Там же вроде примеры есть? Многопоточность тебе не нужна.
-
> [42] DVM © (10.09.11 16:29)
если сервер расчитан на тысчи клиентов, то там ни Indy, ни ICS не подойдет. А для клиентов очень даже подходит.
-
> Eraser ©
> если сервер расчитан на тысчи клиентов, то там ни Indy,
> ни ICS не подойдет.
ICS несколько тысяч потянет. Используя порты завершения ввода-вывода можно и десятки тысяч обслужить (не знаю, использует ли ICS IOCP). Потоков более чем ядер смысла создавать в такой ситуации нет.
> А для клиентов очень даже подходит.
>
>
Да подойти то подойдет, но самый примитивный вариант асинхронных сокетов на сообщениях для клиента чата проще в реализации и синхронизация не нужна с интерфейсом.
-
> Eraser (10.09.2011 19:46:43) [43]
ICS нормально справляется с десятками тысяч клиентов
-
> [44] DVM © (10.09.11 20:21)
> [45] Anatoly Podgoretsky © (10.09.11 21:15)
обычно просто середины не бывает. либо сервер обслуживает несколько десятков клиентов и не больше, либо сервер должен потянуть и десятки тысяч. в этом случае да - только порты завершения. В ICS увы не используются. Вот если бы Indy или ICS написали хотя бы простенький сервер на базе IOCP - цены бы им не было. Есть неплохой компонент, автором которого является наш форумщик, но к компоненту есть ряд вопросов.
-
> Eraser © (10.09.11 22:42) [46]
> Есть неплохой компонент, автором которого является наш форумщик,
> но к компоненту есть ряд вопросов.
Этот?
THPServerSocket
Author: Sergey N. Naberegnyh
-
этот.
-
Спасибо за советы и помощь.