簡體   English   中英

與遠程服務器上的Socket.io建立連接

[英]Making a connection with Socket.io on Remote Server

我創建了一個簡單的應用程序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時它會在控制台上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')我得到了錯誤http://example.com:8000/socket.io/?EIO=3&transport=polling&t=LBWnq-U net::ERR_CONNECTION_TIMED_OUT

您需要具有VPS服務器才能安裝節點,最有可能的是,您位於共享主機上,並且大多數提供程序都不允許您安裝節點。 最好的選擇是要求您的提供商為您安裝節點,或者如果您有資金,請升級到VPS服務器。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM