查看WebSockets的W3规范,我看到
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的目的?如果服务驻留在某个端口,那么资源有什么用呢?
您可以使用不同的URI在同一端口上公开不同的逻辑WebSockets。
让我们以chat为例。您可以使用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');