Подтвердить что ты не робот

Как разговаривать с сокетами UDP с HTML5?

Что у меня: Работает сервер приложений С++, готов к отправке данных клиенту, который предназначен для страницы HTML5 или приложения.

Что мне нужно: Есть ли способ связи с использованием порта udp с HTML5, поскольку оба сервера С++ и приложение HTML5 являются локальными для системы?

Что я знаю:

  • Из-за проблемы безопасности JS не разрешает передачу UDP-порта из браузера.
  • Читали во многих местах, ответ - нет. Но ответы старые.

Является ли ответ еще "НЕТ"?

Возможна ли какая-либо работа?

Любое преимущество оценивается.

4b9b3361

Ответ 1

Да, ответ по-прежнему "нет". Веб-узлы основаны на TCP. Обратите внимание, что WebSocket не является простым TCP-соединением, есть HTTP-согласование и протокол кадрирования. Таким образом, вы также не можете создать обычное TCP-соединение в Javascript.

WebRTC основан на UDP, он может охватывать ваши варианты использования: http://www.html5rocks.com/en/tutorials/webrtc/datachannels/

Ответ 3

Это основная проблема для геймеров. См. Эту ссылку для обсуждения websockets, webrtc, quic (в хроме) и автора netcode.io

Ответ 4

Вы можете использовать работу, разработать программу / script/server (я бы использовал PHP, являющийся клиентом html), чтобы получить грамм UDP с сервера, если вы хотите, чтобы я мог помочь, у меня есть работал над чем-то подобным.

Ответ 5

Вы также можете создать дополнительный локальный сервер python для объединения данных между вашим С++-приложением и веб-страницей.

Веб-страница html5 подключается к локальному порту, который разрешает подключение к веб-соке (используйте Flask/торнадо).

Приложение С++ подключается к прослушивателю UDP на другом порту. См. https://wiki.python.org/moin/UdpCommunication для настройки.

Сервер python в основном формирует прозрачный мост данных между портом UDP и соединением с websocket.