Socket.io适用于localhost但不适用于webserver

时间:2016-10-25 04:17:34

标签: socket.io webserver

我是socket.io的新手,并且能够在我的localhost上正确地使用不同教程中的许多示例。现在我需要帮助它在我的网站上工作。我一直在浏览支持表格几天没有运气。任何帮助,将不胜感激。这是我到目前为止所做的......

我使用FileZilla FTP客户端将代码(在我的localhost上运行)导出到我的Web服务器(由https://ifastnet.com/托管)并执行相同的操作" npm init"," npm install express --save"," npm install socket.io --save"," node app.js"当我能够在我的本地主机上工作时,我在我的CMD上使用的putty SSH程序。

当我访问我的网站时,我一直得到" net :: ERR_CONNECTION_RESET"在我使用

时在浏览器控制台(谷歌浏览器)中
var socket = io.connect('http://31.22.4.6:1122');

在客户端。

我得到了#34; 404(未找到)"在我使用

时在浏览器控制台中
var socket = io();

我尝试过很多没有运气的解决方案

我的代码如下。在此先感谢您的帮助。

服务器

var app = require('express')();
var server = require('http').Server(app);
var io = require('socket.io')(server);

server.listen();
// server.listen(1122, "31.22.4.6");

app.get('/', function(req, res) {
    res.sendfile(__dirname + '/client/index.html');
});

console.log("server started");


io.on('connection', function(socket) {
    console.log("connection made");
    socket.emit('news', {
        hello: 'world'
    });
    socket.on('my other event', function(data) {
        console.log(data);
    });
});

客户端

<script src="https://cdn.socket.io/socket.io-1.4.5.js"></script>
<script>
  // var socket = io.connect('http://localhost');
  // var socket = io.connect('http://31.22.4.6:1122');
  var socket = io();
  // var socket = io.connect();
  socket.on('news', function (data) {
    console.log(data);
    socket.emit('my other event', { my: 'data' });
  });
</script>

1 个答案:

答案 0 :(得分:0)

您使用的是https://ifastnet.com吗?您似乎无法访问其服务器上的运行节点,也无权访问端口1122上的内容。

您需要一项为您提供ssh的服务,例如亚马逊。他们有免费的服务,如果您想在购买前试用,可以试用几个月的Ubuntu虚拟机。