Одноранговая (p2p) связь между Smart TV и смартфоном - PullRequest
0 голосов
/ 10 июня 2019

Итак, я программирую уже пару лет, и я программирую только веб-сайты. Однако я хотел создать веб-приложение для своего телевизора LG и уже загрузил SDK, ide, эмулятор и т. Д. И было довольно легко получить базовое приложение, которое работает нормально. Я также использовал PhoneGap (используемый для создания мобильных приложений с HTML, CSS, js, node js), чтобы сделать то же самое приложение для моего телефона Android.

Так что моя проблема в том, что мне нужен способ получить p2p (одноранговое) соединение между моим телевизором и смартфоном. Я хочу сделать простую игру, где телевизор используется в качестве монитора и телефон как контроллер. Однако я не хочу использовать веб-сервер. Вы должны иметь возможность играть в нее, без подключения к интернету, но с сетью Wi-Fi.

Я уже искал WebRTC , но, честно говоря, я не понимал, как это работает. Я также читал кое-что о сокет IO . Из того, что я понял, это то, что телевизор должен запустить HTTP-сервер, а затем телефон должен подключиться к нему? Но тогда смартфону каким-то образом нужно знать IP-адрес HTTP-сервера. В противном случае вам придется вводить IP-адрес каждый раз, когда вы хотите играть.

Мне не нужен готовый код, просто точка, с которой я могу начать, и объяснение.

Спасибо!

1 Ответ

0 голосов
/ 10 июня 2019

Учитывая специфику проекта (небольшая сеть), чтобы обойти необходимость ввода IP-адреса, я обычно делаю:

1 - Извлечение IP-адреса и подсети телефона с помощью phonegap js api;

2- Сканирование диапазона подсети для http-сервера по заранее заданному маршруту для определения приложения Smart TV (не более 255 * 255 адресов для сканирования на большой локальной сети; с помощью js легко распараллеливать сотни / тысячи одновременных запросов);

----> этот маршрут должен выводить что-то читаемое, идентифицирующее устройство, в случае нескольких результатов.

3- Показать список результатов на телефоне; получить пользовательский ввод; затем подключите.

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

Наслаждайтесь!

...