Node.js 在主机monster'上运行socket.io;s共享服务器

Node.js 在主机monster'上运行socket.io;s共享服务器,node.js,apache,.htaccess,websocket,socket.io,Node.js,Apache,.htaccess,Websocket,Socket.io,我正在计划一个小爱好项目,将使用主机上的节点怪物。现在,我知道Hostmonster是为Apache设计的,但我找到了一种方法,可以继续使用并手动编译node来运行node.js。因此,简单的restAPI请求是有效的 即 我在localhost:3000上运行节点服务器 我在服务器上有一个链接//relay.example.com/r.php?arg1=val 进入该URL的GET请求是这样漏斗状的 Node/express接收请求并通过res.send 然而,我更愿意使用WebSocket!

我正在计划一个小爱好项目,将使用主机上的节点怪物。现在,我知道Hostmonster是为Apache设计的,但我找到了一种方法,可以继续使用并手动编译node来运行node.js。因此,简单的restAPI请求是有效的

  • 我在localhost:3000上运行节点服务器
  • 我在服务器上有一个链接
    //relay.example.com/r.php?arg1=val
  • 进入该URL的GET请求是这样漏斗状的
  • Node/express接收请求并通过
    res.send
  • 然而,我更愿意使用WebSocket!为此,我需要找到一种方法将传入请求(GET/POST)路由到socket.io,然后让它们路由回客户端。我不认为我可以重新配置apache(并因此尝试类似的东西,因为它没有安装在hostmonster上——或者如果它被标记为其他东西,我就找不到它)

    目前,我正在使用a将传入的请求路由到本地节点进程,并使用echo将信息发送回请求者。虽然不是很漂亮,但它可以工作

    我设想一个使用socket.IO的系统在理想情况下会依赖
    .htaccess
    将websocket请求路由到本地端口上的本地节点进程


    我只是不知道如何通过Hostmonster找到/破解我的方法来做到这一点!

    你能从外部联系运行在端口3000上的节点服务器吗,或者它是由hostmaster防火墙连接的吗?它是防火墙连接的,尽管我怀疑如果我买了自己的IP地址,它可以工作,但是我还是宁愿通过标准端口连接所有东西,苏ch as 80或443您的方法的问题是,您正在执行一个请求,然后是一个响应,而websocket正在不断地发送和接收数据。我不确定您是否可以使用Apache和php代理websocket。我想知道我是否可以使用类似的方法,并从0.0.0.0:80本地主机:3000中提取数据?您可以在hos上运行socket.iot、 如果你只有面向外部的apache,没有安装apache模块的权限,我认为这是你最好的选择。
    $fp = fsockopen("localhost", 3001, $errno, $errstr, 5);
    
    if (!$fp) {
      echo "Error: $errno - $errstr";
    } else {
      $out = "GET / HTTP/1.1\r\n";
      $out .= "Host: localhost\r\n";
      $out .= "Connection: Close\r\n\r\n";
      fwrite($fp, $out);
      while (!feof($fp)) {
        echo fgets($fp, 128);
      }
      fclose($fp);
    }