Как отправить данные с веб-страницы на порт на веб-сервере? - PullRequest
0 голосов
/ 17 июля 2011

, который является наилучшим способом отправки числовых данных с веб-страницы javscript на порт веб-сервера. У меня есть программа сокета сервера, запущенная на сервере и прослушивающая порт 5000. мне нужно отправить данные с веб-страницы в порт? какой метод самый лучший?

сцена такая.

У меня есть программа на сокете C, запущенная на веб-сервере, размещенном на моем ноутбуке с использованием XAMPP. это listeing к порту 5000, а также у меня есть мой IP-адрес. на веб-странице, я запускаю JavaScript, и когда пользователь нажимает любую из клавиш со стрелками, мне нужно отправить значение на этот порт .. как вверх -1, вниз -2 и т. д. ...

Ответы [ 4 ]

1 голос
/ 17 июля 2011

В настоящее время нет способа сделать это портативным способом. Некоторые браузеры поддерживают стандарт WebSocket , который дает вам ограниченный доступ к сокетам, но в настоящее время он недоступен ни в каких распространенных браузерах, кроме Chrome и Safari. Проигрыватель Flash поддерживает отдельный протокол XMLSocket , который также можно использовать, если доступен плагин Flash. Однако ни один из этих протоколов не поддерживает необработанный доступ к сокетам - оба требуют некоторого начального согласования и формирования пакетов.

0 голосов
/ 17 июля 2011

Поскольку ваш веб-сервер работает не на том же порту, что и ваша программа-сокет, Javascript в браузере не может делать запросы напрямую программе-сокету из-за Same Origin Policy .Однако существуют различные способы обойти это ограничение.Алекс Секстон имеет подробный обзор всех различных способов сделать это.Однако для всех этих способов требуется, чтобы ваша программа-сокет также выполняла протокол http.

Socket.IO кажется идеально подходящим для того, что вы пытаетесь сделать, но вам, вероятно, придется отказаться от вашей программы на Си.

0 голосов
/ 17 июля 2011

Я полагаю, что выполнение одного ajax-запроса на требуемый порт на сервере ... может удовлетворить запрос.

0 голосов
/ 17 июля 2011

Единственный способ открыть подключение к сетевому сокету с веб-страницы - использовать приложение Java или Flash для подключения к двоичному сокету.Затем вы можете использовать java-скрипт для передачи данных в приложение, которое подключится и перенаправит их на сервер.

В качестве альтернативы вы можете использовать некоторый код на стороне сервера и AJAX для прокси-соединения и пересылки данных.Второй вариант не требует установки какого-либо подключаемого модуля браузера, и я думаю, что его будет проще реализовать.Он также сможет перенаправлять на порт, который не находится на самом веб-сервере, поскольку он не будет подвергаться ограничениям безопасности браузера.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...