Как разбудить и включить клиентов сервера .NET Remoting для асинхронной выборки данных?

Мне нужно выполнить взаимодействие между процессами с помощью .NET Remoting. Для этого я бы поделился некоторыми данными в виде данных (объектов) и методов.

Есть ли какой-либо выход, с помощью которого мой клиент .NET Remoting может определить, есть ли какие-то данные, которые передаются или нет, если он просто продолжает собирать эти данные. Каждый раз, когда сервер сервера делится данными с его общими способными методами и объектами, Маршалинг, клиент должен знать, что это другой процесс.

У сервера может быть несколько клиентов, и данные могут быть разделены между несколькими клиентами (конкретными клиентами или широковещательными рассылками, т.е. для каждого клиента, который работает как отдельный процесс).

На стороне клиента у меня будет один выделенный поток для проверки общих данных, если он прибудет, он будет собираться, иначе спать. Или каким-то образом каждый раз, когда сервер отправляет событие конкретному клиенту или нескольким клиентам, чтобы они знали о поступивших и общих данных.

Это та функциональность, которую предоставляют события удаленного взаимодействия .NET? Мой сервер .NET Remoting — это процесс C#, а клиент — это процессы C++/CLI.

С уважением Усман


person Usman    schedule 21.09.2010    source источник
comment
Удаленное взаимодействие .NET считается устаревшим. Вы должны рассмотреть WCF для вашего IPC.   -  person David Pfeffer    schedule 21.09.2010
comment
На данный момент .NET Remoting встроен, и его трудно заменить в течение ограниченного времени.   -  person Usman    schedule 21.09.2010


Ответы (1)


Это возможно с помощью .NET Remoting. Возможно, самым простым способом было бы включить в удаленный объект (сервер) событие, на которое могут подписаться клиенты. Когда у сервера есть данные, которыми он хочет поделиться, он просто запускает это событие, и все клиенты, подписавшиеся на событие, получают уведомление вместе с данными.

person Jim Mischel    schedule 21.09.2010
comment
Я должен отправить некоторые строки и сообщения для моих клиентов сервера .Remoting после создания этих клиентов самим сервером (сервер будет создавать отдельные процессы, то есть клиенты), которым ему необходимо отправлять сообщения и данные. - person Usman; 22.09.2010
comment
Я должен отправить некоторые строки и сообщения для моих клиентов сервера .Remoting после создания этих клиентов самим сервером (сервер создаст отдельные процессы, то есть клиенты), которым ему необходимо отправлять сообщения и данные. Каждый раз, когда клиент (то есть процесс) запускается, он отправляет свою ссылку на серверную сторону, и сервер прикрепляет свой экземпляр в свой список диспетчеров. и клиент на другом конце будет ждать бесконечно или перейдет в спящий поток. Всякий раз, когда серверу необходимо поделиться своими данными, клиент узнает об этом, и его поток проснется и сможет обрабатывать общие данные. Любой пример кода, который продемонстрирует это.? - person Usman; 22.09.2010
comment
В вашей ситуации лучше всего определить событие на сервере и подписаться на него в клиенте. Мне жаль, что у меня нет примера кода, чтобы поделиться с вами. - person Jim Mischel; 23.09.2010