使用Node.js在Azure托pipe上创buildWeb套接字服务器?
我有一个节点应用程序,我试图在Azure上托pipe,创build一个websocket服务器。 我正在尝试使用下面的代码创buildWeb套接字服务器:
var socket = require('websocket').server; ... server.listen(1111,function(){ console.log('Http server is listening on port 1111'); });
当我在本地机器上执行此操作时,它工作正常,但是一旦Azure上出现以下客户端JavaScript行:
var connection = new WebSocket('ws:' + document.domain + ':1111'); connection.send(msg); //throws error
抛出错误:
InvalidStateError:尝试使用不是或不再可用的对象
如果我使用azure色,我可以获得所需的function吗? 如果是这样,有什么build议从哪里开始寻找修复?
你可以在这里看到破坏的应用程序。
它将在Azure上工作,但您需要进行更改。 尝试这个:
server.listen(process.env.port, function () { var addr = app.address(); console.log('Server listening on http://' + addr.address + ':' + addr.port); });
以下是使用Azure中Socket.IO源代码的聊天示例的教程:
http://www.windowsazure.com/en-us/develop/nodejs/tutorials/app-using-socketio/
它假定你在Windows上,这不是必须的。 要从Mac或Linux系统上使用Azure上的Node.js,只需从Git发布:
http://www.windowsazure.com/en-us/develop/nodejs/common-tasks/publishing-with-git/