![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Socket
dima_shapkin © (2006-11-07 16:19:00)Добрый день. Подскажите, такая задача:
приложение принимает сообщения по какому-то порту, все хорошо, но экземпляров приложения может быть несколько(терминал сервер например)... и все они должны получить "свою копию" пакета... Как я понял из МСДН используя шаред сокеты все равно принимать и отправлять пакеты в данный момент времени может только один процесс, тогда встает вопрос как передать этот пакет остальным экземплярам приложения.... и как лучше организовать такой процесс?
dima_shapkin (2006-11-08 10:44:00) [1]Синхронизировать запуск нитки с прослушиванием порта можно мьютексом. Только одна версия приложения может захватить порт. Получив пакеты приложение может транслировать его остальным копиям через пайпы например. Как только оно закрывается, любой другой процесс захватывает порт и выполняет теже функции.
Rouse_ (2006-11-07 22:39:00) [2]
> терминал сервер
Давай для начала разберемся с терминами.
Терминал сервер в твоем понимании некий сервер - обслуживающий несколько клиентов, или несколько копий сервера запущенных под терминалом и их необходимо связать в единую сеть?
Ketmar (2006-11-07 18:15:00) [3]>[5] dima_shapkin 7-Nov-2006, 17:59
>как я понял в любом случае принимать пакеты должно один
>процесс, а просто дублировать их остальным?
да. это самый простой и безглючный вариант.
Eraser (2006-11-07 18:07:00) [4]> [5] dima_shapkin (07.11.06 17:59)
> как я понял в любом случае принимать пакеты должно один
> процесс
да, может есть какие-нибудь извращения, чтобы принимало несколько, но не советовал бы ими пользоваться.
dima_shapkin (2006-11-07 17:59:00) [5]> Нахрена много экземпляров то? Это же не Юникс.
ну если приложение запускается на терминал сервере?
> через именованные каналы например.
> переделывай архитектуру.
как я понял в любом случае принимать пакеты должно один процесс, а просто дублировать их остальным?
Eraser (2006-11-07 17:45:00) [6]> [0] dima_shapkin (07.11.06 16:19)
> как передать этот пакет остальным экземплярам приложения
через именованные каналы например.
переделывай архитектуру.
DVM (2006-11-07 17:40:00) [7]
> но экземпляров приложения может быть несколько(терминал
> сервер например)...
Нахрена много экземпляров то? Это же не Юникс.
Ketmar (2006-11-07 17:39:00) [8]один сервер, куча клиентов.
Сергей М. (2006-11-07 16:23:00) [9]
> Как я понял из МСДН используя шаред сокеты все равно принимать
> и отправлять пакеты в данный момент времени может только
> один процесс
Приводи ссылку на первоисточник ..