javascript - 在共享主机上运行 socket.io

标签 javascript node.js sockets websocket socket.io

我正在使用 A2Hosting 的共享托管服务器,我想在其中运行 socket.io 服务器(应用程序),这是我到目前为止所做的:

  1. 通过 SSH 连接到服务器
  2. 已安装的 Node
  3. 运行/启动 socket.io 服务器(应用程序)
var server = require('http').createServer(),
    io = require('socket.io')(server),
    port = 58082;

server.listen(port, my - domain - name);

但是我的客户端(浏览器)无法连接到服务器。

我曾尝试在本地 Linux 机器上运行相同的 socket.io 服务器(应用程序),并且能够通过浏览器成功连接,因此问题出在共享主机服务器的配置上。

最佳答案

你快到了。缺少的一件事是您的 socket.io 应用程序与网络服务器的集成。为此,您需要一个 .htaccess 文件来重定向传入的请求。

public_html 目录中创建一个 .htaccess 文件并添加以下代码段。将 XXXXX 替换为 4915265535 之间任何未使用的端口,这些是可用的。如果您的应用程序无法启动,请尝试不同的端口。

RewriteEngine On
RewriteRule ^$ http://127.0.0.1:XXXXX/ [P,L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ http://127.0.0.1:XXXXX/$1 [P,L]

如果您需要更详细的指南/资源:

关于javascript - 在共享主机上运行 socket.io,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45532690/

相关文章:

c - bind() 返回权限被拒绝 C

javascript - 如何以编程方式启用/禁用 Google 街景中的箭头控制?

javascript - 使用 javascript 获取所选内容的原始 HTML

javascript - 检测网络入门工具包中通知的点击

javascript - 如何使用谷歌图表更改条形和线条上的注释位置

javascript - 使用 AWS Lambda 方法循环访问列表并调用多个其他 lambda 方法

javascript - 请求的 URL "[no URL]"无效。 Node http-proxy

node.js - npm install child_process 不工作

c# - ZeroMQ线程/任务建议

sockets - 为什么发送时没有像 MSG_WAITALL 这样的标志?