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

Подключение к веб-узлу HTML5

Я немного смущен о веб-узлах HTML5. Я просмотрел множество обучающих программ, и многие из них имеют разные варианты подключения с использованием разных портов. Что означают эти порты?

Adobe, использует это:

new WebSocket('ws://localhost:1740');

Тогда в другом учебнике есть такие места, где не требуются порты:

new WebSocket("ws://www.websockets.org");

И, наконец, третий учебник имеет порт, но он совершенно другой:

new WebSocket("ws://localhost:8080/echo");

Мой вопрос будет, почему они меняются? Как узнать, к каким портам подключиться? Кроме того, я попытался выполнить собственное подключение:

var ws = new WebSocket("ws://test.ontarget-network.com/");

Но я получаю следующую ошибку: Unexpected response code: 200

Я тестировал и пытался подключиться к другим "портам" (не зная, что я делаю, очевидно, набрав случайные числа), и эта ошибка исчезнет, ​​однако, мой код

ws.onopen = function(){
   alert("Connection Established");
};

не будет выполняться.

Я пытаюсь полностью понять API-интерфейсы HTML5, чтобы экспериментировать и создавать более динамические приложения. Спасибо за помощь.

4b9b3361

Ответ 1

Ниже представлен последний проект WebSocket:

По умолчанию протокол WebSocket использует порт 80 для обычного WebSocket соединения и порт 443 для соединений WebSocket, туннелированных через TLS [RFC2818].

Действительно, вы должны иметь возможность использовать любой действительный порт, который не используется. Пока клиенты пытаются подключиться к тому же порту, что серверная сторона script открывается для подключения сокета, вы должны быть в порядке.

Быстрая заметка о портах:
- Порт 80 - это порт HTTP.
- Порт 8080 является альтернативным HTTP-портом.
- Порт 443 - это протокол HTTPS (то есть HTTP с TLS).
- Порт 1740 в коде Adobe кажется некоторым случайным портом, который еще не используется другими службами.

Для получения полного списка предустановленных портов см. следующее:
http://en.wikipedia.org/wiki/List_of_TCP_and_UDP_port_numbers

Что касается вашей ошибки "Неожиданный код ответа: 200", я предполагаю, что URL-адрес WebSocket, который вы используете на стороне клиента, не указывает на действительную серверную сторону script, но это трудно комментировать без дополнительной информации.

Ответ 2

Сервер должен иметь конечную точку, которая принимает соединения WebSocket. Итак, если эта конечная точка /echo, вы хотите подключиться к:

ws://localhost:8080/echo/websocket

Вы получите ошибку Unexpected response code: 200, если вы исключите суффикс /websocket после конечной точки. У меня была такая же путаница, и эта ссылка немного очистила меня.

Ответ 3

У меня была такая же проблема, но выжить с помощью

Unexpected response code: 200

Для обработки веб-сокета необходимо иметь серверную сторону script, или вы можете использовать Node.js, чтобы построить сервер script. ради образования вы можете попытаться изменить свой собственный websocket sever script.

Ответ 4

На самом деле есть что-то еще... Вы не можете открыть соединение с каждым портом, поскольку в каждом браузере есть список заблокированных портов. Я помню, как я видел полный список портов в "запутанном Интернете" от Михала Залевского; однако, я думаю, что быстрый Google также покажет это.