其他的很多教程是在在项目初始化的时候引入:
// window.io = require('socket.io-client');//这边现在已经不适用了,虽然不会引起报错,但是会一直发送tansport=polling的请求,链接到laravel--echo-server服务,
正确做法:
在模板中引入这个是关键,这个laravel-echo-server的github上叫你引入,里面定义了全局变量io所以能使用
<script src="//{{ Request::getHost() }}:6001/socket.io/socket.io.js"></script>
关于私有频道验证方面的问题:
new Echo({
broadcaster: 'socket.io',
host: HOST_FOR_YOUR_SERVER,
auth: {
headers: {
Authorization: 'Bearer ' + AUTH_API_TOKEN,
},
},
});
或者是new完实例之后,进行赋值,达到认证通过的效果, window.Echo.connector.options.auth.headers['Authorization'] = 'Bearer '+getToken();