【问题标题】:Socket.io only works localSocket.io 仅适用于本地
【发布时间】:2016-02-06 11:18:04
【问题描述】:

我观看了有关 websockets(socket.io) 的 laracast 视频并亲自尝试过。在本地主机上它工作得很好,但是当我尝试在服务器上运行它时,我得到了错误。

我的 socket.js:

var server = require('http').Server();

var io = require('socket.io')(server);

var Redis = require('ioredis');

var redis = new Redis();

redis.subscribe('report-created');

redis.on('message', function(channel, message){
message = JSON.parse(message);

io.emit(channel + ':' + message.event, message.data);
});

server.listen(3000);

客户:

<script>
    $.ajaxSetup({
        headers: {
            'X-CSRF-Token': $('meta[name="csrf-token"]').attr('content')
        }
    });

    var socket = io('IPFromServer:3000');
    new Vue({
        el: 'body',
        data: {
            reports: []
        },

        ready: function(){
            socket.on('report-created:App\\Events\\ReportCreated', function(report){
                console.log(report["reportCreated"]);



                $.ajaxSetup({
                    headers: {
                        'X-CSRF-Token': $('meta[name="csrf-token"]').attr('content')
                    }
                });

                window.location.replace("http://autoreport.dev/fileentry/get/" + report["reportCreated"]);

            }.bind(this));
        }
    });
</script>

就像我说的,它在 Localhost 上运行得很好,但不是在服务器上我总是收到这个错误消息:

GET ...socket.io/?EIO=3&transport=polling&t=1446734287420-0 net::ERR_CONNECTION_TIMED_OUT   socket.io.min.js:1

我搜索了很多,但找不到任何答案。也许你们中的一些人知道解决方案。

问候

【问题讨论】:

    标签: node.js sockets socket.io


    【解决方案1】:

    服务器脚本更改

    server.listen(3000);
    

    server.listen(3000,'0.0.0.0')
    

    在你的客户端脚本改变

    var socket = io('IPFromServer:3000');
    

    var server = 'IPFromServer:3000',
        socket = io.connect(server);
    

    并确保服务器字符串正确

    【讨论】:

    • 在 lsof -i 中,端口似乎已打开并且正在侦听节点 27307 root 10u IPv4 303738 0t0 TCP *:3000 (LISTEN) 节点 27307 root 11u IPv4 303739 0t0 TCP localhost:45576->localhost:6379 (已建立)我不知道第二个节点是什么
    猜你喜欢
    • 2015-12-10
    • 2019-03-08
    • 1970-01-01
    • 2018-11-16
    • 2017-02-25
    • 2023-04-05
    • 2023-03-31
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多