Мои извинения, если это тривиальный вопрос.

Недавно я начал заниматься программированием для Android и пишу простое приложение, которое позволяет вам использовать ваше устройство Android в качестве контроллера для вашего ПК с Windows. В частности, он позволяет пользователю делать такие вещи, как выключение компьютера, перевод его в спящий режим, перезагрузка и т. Д. И т. Д. В настоящее время я использую библиотеку python, называемую CherryPy, в качестве сервера на компьютере с Windows для выполнения реальных вызовов win32api для выполнения желаемого функция . В чем я не уверен, так это в том, как определить (динамически), какая машина в сети на самом деле размещает сервер. Все работает нормально, если я жестко закодирую общедоступные IP-адреса своих машин в приложение для Android, но, очевидно, это далеко не идеально. Я подумал о том, чтобы пользователь вручную вводил публичный IP-адрес своих компьютеров в приложение, но если есть способ, скажем, передать быстрое сообщение всем машинам в сети Wi-Fi и проверить заранее готовый ответ, который отправит мой сервер Python это было бы замечательно. Это возможно?

Заранее спасибо, ребята.

6
Alex Sullivan 1 Фев 2013 в 00:59

2 ответа

Лучший ответ

Напишите свое приложение, используя . AllJoyn позаботится об этих деталях для вас.

1
David 31 Янв 2013 в 21:13

Попробуйте отправить пакет UDP на специальный широковещательный адрес 255.255.255.255. Каждое устройство в сети должно получить копию этого пакета (за исключением брандмауэров), и вы можете сделать так, чтобы сервер отвечал на пакет со своей идентификацией.

2
nneonneo 31 Янв 2013 в 21:03