Какова цель ресурса в URL-адресе WebSocket?

Глядя на спецификацию W3 на WebSockets, я вижу

var socket = new WebSocket('ws://game.example.com:12010/updates');
socket.onopen = function () {
  setInterval(function() {
    if (socket.bufferedAmount == 0)
      socket.send(getUpdateData());
  }, 50);
};

Я понимаю, что службы сокетов живут на порту 12010 на game.example.com, но какова цель ресурса '/updates' в URL-адресе? Если служба работает в каком-то порту, что хорошего будет делать ресурс?

Ответы

Ответ 1

Вы можете открыть различные логические WebSockets на одном и том же порту, используя разные URI.

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

var socket = new WebSocket('ws://chat.example.com/games');
var socket = new WebSocket('ws://chat.example.com/movies');
var socket = new WebSocket('ws://chat.example.com/websockets');

Вы также можете использовать строки запроса. Представьте себе биржевой тикер:

var socket = new WebSocket('ws://www.example.com/ticker?code=MSFT');
var socket = new WebSocket('ws://www.example.com/ticker?code=GOOG');