【问题标题】:Creating web socket server on Azure hosting using Node.js?使用 Node.js 在 Azure 主机上创建 Web 套接字服务器?
【发布时间】:2012-12-14 22:57:04
【问题描述】:

我尝试在 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:尝试使用不是的对象, 或不再可用

如果我使用 azure,我可以获得所需的功能吗?如果是这样,关于从哪里开始寻找修复的任何建议?

您可以在here 看到损坏的应用程序。

【问题讨论】:

    标签: node.js azure websocket


    【解决方案1】:

    它可以在 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/

    【讨论】:

    • 谢谢!我会试一试。
    • Hrrm,你知道console.log写到哪里吗?我在我的 FTP 目录中环顾四周,但没有看到任何内容。我正在尝试更新我的应用程序的客户端,以便它可以使用正确的端口,但我需要查看它开始监听时记录的内容。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-11-24
    • 1970-01-01
    • 2016-07-07
    • 1970-01-01
    • 1970-01-01
    • 2014-01-29
    • 2023-03-18
    相关资源
    最近更新 更多