【问题标题】:Dotcloud www and TCP in single app -单个应用程序中的点云 www 和 TCP -
【发布时间】:2012-08-17 09:50:15
【问题描述】:

我正在尝试运行一个 nodejs 套接字服务器,它允许两个运行 Flash 游戏的客户端之间进行远程通信,该游戏使用自定义协议进行通信。由于 Flash 安全限制,似乎套接字服务器必须与为 Flash 游戏提供服务的 Web 服务器运行在同一主机上。我一直收到以下错误:

The service crashed at startup or is listening to the wrong port. It failed to respond on port "nodejs" (8080) within 30 seconds

我需要一种方法来运行我的 nodeJS 服务器代码,同时提供 flash 文件。

我正在使用环境 JSON 变量来确定要监听的端口,我的 YML 与讨论的 here 类似,但没有运气...... 只是想知道我是否可以获得一些关于如何创建一个可以工作的套接字服务器/网络服务器的信息(或者它是否真的可能)

【问题讨论】:

    标签: javascript node.js dotcloud tcpsocket


    【解决方案1】:

    您可以使用以下dotcloud.yml 文件:

    www:
      type: nodejs
      ports:
        mything: tcp
    

    然后在您的 Node.js 应用程序中,您可以将 HTTP 服务器绑定到端口 8080,并将任意 TCP 服务器绑定到环境变量 $PORT_MYTHING 包含的端口。然后在你的服务上运行dotcloud info;在ports 部分,您将看到如下内容:

    -   name: mything
        url: tcp://myapp-johndoe.dotcloud.com:12345
    

    从现在开始,如果您在端口12345 上连接到myapp-johndoe.dotcloud.com,您实际上将在您的应用程序中连接到$PORT_MYTHING

    我希望它是有道理的,并且这就是您要寻找的东西!

    【讨论】:

      最近更新 更多