Laravel echo,socket.io和laravel-echo-server将不起作用

这可能是我遇到的最令人沮丧的事情,不幸的是,这可能是我做的一些愚蠢的事情。

以下是我正在使用的三件事的链接:

  • Laravel回声设置
  • Socket.io(cdn)
  • Laravel Echo服务器

这是我的问题:我的网站不断地击中这条路线: http://192.168.10.10:6001/socket.io : http://192.168.10.10:6001/socket.io : http://192.168.10.10:6001/socket.io 。 我不知道它为什么会碰到这个路由,因为我没有在我的代码中的任何地方定义socket.io部分。 这里是我在我的bootstrap.js中用来实例化Laravel Echo的代码。

 import Echo from "laravel-echo" window.Echo = new Echo({ broadcaster: 'socket.io', host: 'http://192.168.10.10:6001' }); 

这是我的socket.js文件(node.js)中的代码:

 var echo = require('laravel-echo-server'); var options = { authHost: 'http://192.168.10.10', authPath: '/broadcasting/auth', host: 'http://192.168.10.10', port: 6001 }; echo.run(options); 

到目前为止,这里没有任何事情可能会出错。 这是链接回cdn的错误消息。 奇怪的是,改变window.Echo主机更改域,但我不知道如何更改该socket.io部分。

截图:

这让你想知道,是否在Socket.io文件的某个地方被硬编码? 这是我第一次使用Socket.io,所以我无法知道。 也许在我放入cdn之后,我需要做额外的设置? 所有的Laravel文档都要求添加脚本标签,而Laravel则因为拥有出色的文档而闻名。

任何专业知识将不胜感激,赐教!

更新

MMMTroybuild议我启动我的socket.io服务器在虚拟机,而不是我的普通电脑。 这很有道理,可能是问题。 但现在我又遇到了另外一个问题。 之前,我只是启动服务器(在我的常规计算机上),它会说: EchoServer: "Server running at http://192.168.10.10:6001" 。 现在,当我尝试在我的虚拟机上启动服务器时,它返回这个错误:

 /home/vagrant/Projects/Blog/node_modules/laravel-echo-server/dist/echo-server.js:159 emitPresenceEvents(socket, channel, members, member, action = null) { ^ SyntaxError: Unexpected token = at exports.runInThisContext (vm.js:53:16) at Module._compile (module.js:387:25) at Object.Module._extensions..js (module.js:422:10) at Module.load (module.js:357:32) at Function.Module._load (module.js:314:12) at Module.require (module.js:367:17) at require (internal/module.js:20:19) at Object.<anonymous> (/home/vagrant/Projects/Blog/node_modules/laravel-echo-server/dist/index.js:2:23) at Module._compile (module.js:413:34) at Object.Module._extensions..js (module.js:422:10) 

我应该怎么做这个错误? 我看着laravel-echo-server emitPresenceEvents函数,但我不知道发生了什么事情。

谢谢。

固定!

我终于修好了,它与节点版本有关。 我更新了homesteads节点到最新版本,并修复它。

对我来说,我必须从我的虚拟机,而不是我的本地设置启动我的套接字。 尝试从您的项目的根目录通过您的虚拟机(homestead / vagrant)而不是您的计算机的普通文件夹结构来启动您的服务器。