JPu*_*uge 3 javascript azure websocket node.js
我正在尝试使用 Node.js 创建一个在 Windows Azure 上运行的 websocket 服务器。这应该很简单,但我遇到了无法在任何地方找到解决方案的问题。
这是我的服务器端代码:
var ws = require('websocket.io')
, http = require('http').createServer().listen(process.env.PORT)
, server = ws.attach(http)
server.on('connection', function (socket) {
socket.on('message', function () { });
socket.on('close', function () { });
});
Run Code Online (Sandbox Code Playgroud)
我如何知道我需要连接到哪个端口?我的客户端代码是:
var ws = new WebSocket("ws://socketiopuge.azurewebsites.net");
ws.onopen = function () {
alert("opened");
};
ws.onmessage = function(msg) {
alert(msg);
};
ws.onclose = function () {
alert("closed");
};
Run Code Online (Sandbox Code Playgroud)
当我运行代码时,我收到 501 错误代码,并且 onclode 事件被触发。我相信问题是我在创建 WebSocket 时需要指定端口号。你们中有人能指出我正确的方向吗?谢谢!
关于您的问题“我如何知道需要连接到哪个端口”,您需要创建一个输入端点并为其设置正确的端口。配置完成后,您将在代码中使用相同的端口进行绑定和使用。
以下是有关在 Windows Azure Web 和辅助角色上运行 socket.io的示例
如果您在 Windows Azure Web 角色中托管 socket.io,请禁用服务器上的 WebSocket 传输,因为 Windows Azure Web 角色在 IIS7 上运行,IIS7 尚不支持 Web 套接字。使用 Worker Role 你不需要担心它,你可以直接使用 Web Sockets。