gpt4 book ai didi

javascript - 与远程服务器上的 Socket.io 建立连接

转载 作者:太空宇宙 更新时间:2023-11-04 00:44:24 24 4
gpt4 key购买 nike

我创建了一个简单的应用程序 Laravel Homestead 来测试一些基本的东西:广播事件并在 socket.io 上监听它们。

一切正常。

但是,我想将应用程序上传到远程服务器上名为 learn-redis 的目录,但我面临着挑战。我的 socket.js 文件如下所示:

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

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

var Redis = require('ioredis');

var redis = new Redis();

redis.subscribe('test-channel');

redis.on('message', function(channel, message){

message = JSON.parse(message);

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

});

server.listen(8000);
  1. 在 Laravel Homestead 中,我知道我可以监听端口 8000,因为它在运行 vagrant up 时会显示在控制台上。我的远程服务器怎么样?我使用什么端口?

  2. 在客户端,我有这段代码。

    var socket = io(' http://192.168.10.10:8000 ');

       new Vue({
    el: '#demo',
    data: {
    users: {!! App\User::all() !!}
    },

    ready: function(){

    socket.on('test-channel:App\\Events\\UserSignedUp', function(data) {

    this.users.push( data.user );

    }.bind(this));

    }
    });

我已经拉动了vue.js和socket.io.js库,但是当我尝试执行 var socket = io('http://example.com/learn-redis:8000')时TIMED_OUT

最佳答案

您需要有一个 VPS 服务器才能安装 Node ,很可能,您使用的是共享主机,并且大多数提供商不允许您安装 Node 。您最好的选择是要求您的提供商为您安装 Node ,或者如果您有资金,请升级到 VPS 服务器。

关于javascript - 与远程服务器上的 Socket.io 建立连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35395238/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com