Я знаю, что термин «Балансировка нагрузки» может быть очень широким, но тема, которую я пытаюсь объяснить, более конкретна, и я не знаю правильная терминология. Я создаю набор серверных / клиентских приложений. Сервер должен уметь обрабатывать огромные объемы передачи данных, а также клиентские соединения, поэтому я начал изучать многопоточность.
По сути, есть 3 способа реализации какой-либо потоковой передачи для сервера ...
Третий вопрос - это то, что я хотел бы знать. Это состоит из такой настройки:
В настоящее время я пока не ищу никакого кода, но информацию о том, как работает подобная установка, и желательно руководство по выполнению этого в Delphi (XE2). Даже подходящего слова или имени по этой теме было бы достаточно, чтобы я мог сам заняться поиском.
РЕДАКТИРОВАТЬ
Я счел необходимым немного объяснить, для чего это будет использоваться. Я буду транслировать как команды, так и изображения, будет установка с двумя сокетами, где есть один «Главный командный разъем» и другой «Дополнительный разъем для потоковой передачи изображений». Так что на самом деле одно соединение - это 2 соединения сокета.
Каждое подключение к основному сокету сервера создает (или повторно использует) объект, представляющий все данные, необходимые для этого подключения, включая потоки, изображения, настройки и т. Д. Для каждого подключения к основному сокету также используется потоковый сокет. связанный. Это не всегда потоковая передача изображений, но командный сокет всегда готов.
Дело в том, что у меня уже есть механизм потоковой передачи в моей текущей настройке (1 поток на объект сеанса), и я хотел бы перенести его на многопоточную среду, подобную пулу. Два соединения вместе требуют высокоуровневого контроля над этими потоками, и я не могу полагаться на что-то вроде Indy, чтобы поддерживать их синхронизацию, я бы предпочел знать, как все работает, чем научиться доверять чему-то другому, чтобы выполнять работу за меня.