Прямой ответ на ваш вопрос: Да, вы можете это сделать.
Длинный ответ: Да, вы можете это сделать, но уверены ли вы, что ваш дизайн правильный? Вы уверены, что хотите создать параллельные соединения, по одному для каждого клиента? Наверное, нет! Если да, то вы, вероятно, захотите запустить их в отдельных потоках.
Если вы хотите время от времени отправлять какие-либо команды (и вы не выполняете какой-либо постоянный мониторинг видео), почему бы вам просто не использовать одно соединение и «переключиться» между клиентами?
Я не могу рассказать вам больше о дизайне, потому что из вашего вопроса не ясно, что вы хотите построить (что именно вы «контролируете»).
ОЧЕНЬ ВАЖНО!
Два важных уведомления принять во внимание, прежде чем разрабатывать приложение (как relevants только если удаленные компьютеры не в локальной сети (при подключении к ним через Интернет)):
- Если удаленные компьютеры работая как серверы, у вас будет лотов проблем для объяснения ваших клиентов (если они подключены (и, вероятно, они) к Интернету через маршрутизатор), как настроить маршрутизатор и программный брандмауэр. Например, если удаленный компьютер прослушивает команды от вас, на порту 1234 (например) брандмауэр в маршрутизаторе будет блокировать ПО DEFAULT любой попыткой подключения с «чужого» компьютера (от вас) к этому порту.
- Если ваши удаленные компьютеры работают как клиенты, как они будут знать IP-адрес мастера (ваш IP-адрес). У вас есть статический IP-адрес?
Какой мониторинг? Наблюдение? Производительность системы? Дата/время? Вес вашего «мониторинга» определит ваше требование к масштабируемости. –
Согласитесь с Джерри. Без ответа на эти вопросы слишком много неизвестных переменных. – Ampere