Вызов функции с Server на Client в домашней сети интернета

Рейтинг: 0Ответов: 1Опубликовано: 13.03.2023

Хотел бы реализовать программу на Visual Studio (Windows Form), в двух экземплярах. Одно приложение было бы сервером, другое клиентом.

Допустим клиент это просто процесс, без какого либо визуального управления (кнопок, картинок и прочего), а сервер с одной единственной кнопкой (отправить). Нужно сделать так, чтобы когда сервер нажимал на кнопку отправить, то у клиента открывалось окно с картинкой, или издавался звук, в общем просто вызывалась любая функция. В данном случае все MAC адреса и IP я знаю, так как программа нужна сугубо в домашней сети (localhost), меняются только устройства.

Ответы

▲ 1Принят

Вопорс достаточно общий, поэтому в деталях с теорией:

  1. Для Windows Form используйте соединение между сервером и клиентом через сокеты.
  2. На серверной стороне создайте экземпляр класса Socket и используйте его для прослушивания входящих соединений.
  3. Когда клиент подключится, создавайте новый экземпляр класса Socket для общения с ним.
  4. Чтобы клиенту сообщить о том, что нужно открыть окно с картинкой или воспроизвести звук, серверу необходимо отправить сообщение, например, в формате JSON:
{"action": "show_image"} 
{"action": "play_sound"}
  1. Клиент должен всегда прослушивать входящие соединения от сервера и обрабатывать сообщения. В ответ на команды вызывать нужные методы.

  2. Чтобы отправить сообщение, используйте метод Send класса Socket. Чтобы принять сообщение, используйте метод Receive класса Socket.

Раздел с рекомендациями и примерами

Прослушивание сокетов