在Hostmonster的共享服务器上运行socket.io

时间:2016-02-20 01:31:51

标签: node.js apache .htaccess websocket socket.io

我正计划在Hostmonster上使用node的一个小爱好项目。现在,我知道Hostmonster适用于Apache,但我想方法是继续使用pm2运行node.js并手动编译节点。因此,简单的restAPI请求可以正常工作。

即,

  1. 我在localhost:3000
  2. 上运行节点服务器
  3. 我在服务器上有一个链接//relay.example.com/r.php?arg1=val
  4. 进入该URL的GET请求就是这样的
  5. $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);
    }
    
    1. 节点/快递接听请求并通过res.send
    2. 发回回复

      但是,我更愿意使用Websockets!为此,我需要想办法将传入的请求(GET / POST)路由到socket.io,然后让它们路由回客户端。我不认为我可以重新配置apache(因此尝试类似ProxyPass的东西,因为它没有安装在hostmonster上 - 或者如果它被标记为其他东西我就找不到它。

      目前,我使用php relay script (fsockopen)将传入的请求路由到本地节点进程,并使用echo将信息发送回请求者。不是很漂亮,但它确实有效。

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

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

0 个答案:

没有答案