我在Azure上尝试托管一个节点应用程序,它创建了一个websocket服务器。我试图使用以下代码创建web套接字服务器:
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:尝试使用一个不能或不再可用的对象
如果我使用的是天蓝色,我能得到想要的功能吗?如果是的话,对于从哪里开始寻找修复方法有什么建议吗?
您可以看到坏的应用程序在行动这里。
发布于 2012-12-14 14:57:04
它会在Azure上工作,但是你需要做一个改变。试试这个:
server.listen(process.env.port, function () {
var addr = app.address();
console.log('Server listening on http://' + addr.address + ':' + addr.port);
});下面是关于如何使用Socket.IO在Azure中的源代码中的聊天示例的教程:
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/
https://stackoverflow.com/questions/13873304
复制相似问题