【问题标题】:Can't get socket.io to work on server, while running fine locally无法让 socket.io 在服务器上工作,而在本地运行良好
【发布时间】:2016-09-15 10:37:15
【问题描述】:

此代码在本地运行的 node.js 服务器上运行良好:

服务器:

var client = require('socket.io').listen(3001).sockets;

客户端 HTML:

<script src="http://localhost:3001/socket.io/socket.io.js"></script>

客户端Javascript:

var socket = io.connect('http://localhost:3001');

然后我将 server.js 移动到安装了 node 和 socket io 的 ubuntu 服务器,使用相同的代码,并且没有错误地启动它。

客户端我将本地 html/javascript 文件从 localhost:3001 更改为 ServerIP:3001,但它不再起作用了。当我检查萤火虫时,我可以看到它永远不会尝试 GET http://ServerIP:3001/socket.io/socket.io.js。它不会失败,只是永远不会结束。

我做错了什么?谢谢。

【问题讨论】:

  • 如果你打开浏览器到serverip:3001,你会得到什么?可能是防火墙问题
  • 尝试检查端口是否被服务器阻塞

标签: javascript node.js sockets socket.io


【解决方案1】:

这很可能是防火墙问题。 使用以下命令允许端口 3001 上的连接(如果您使用 iptables)

iptables -A INPUT -p tcp --destination-port 3001 -J ACCEPT

不如再试一次

【讨论】:

  • 很高兴能帮上忙!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2017-06-16
  • 1970-01-01
  • 2020-02-25
  • 1970-01-01
  • 1970-01-01
  • 2013-06-08
  • 2014-11-29
相关资源
最近更新 更多