广播事件-工作良好的服务器端,但不是在客户端
Broadcasting Event - Works Good on Server-Side, but Not on Client-Side
我使用的是Laravel 5.1。我试图在相关函数上调用useradddedfriend事件,并被Socket捕获。
所以我在服务器端运行node socket.js
。对我来说,一切似乎都很好,当我打开两个浏览器并登录两个不同的用户(X和Y)时,两者都连接上了。
当我调用函数'addFriend'函数时,事件被触发。在服务器端,node socket.js
也打印Received
文本;然而,控制台中的任何浏览器都不会返回任何内容。
我错过了什么或做错了什么?
在'addFriend()'函数中,我触发了这个事件:
'Event::fire(new UserAddedFriend($username));
在类 useradddedfriend :
上class UserAddedFriend extends Event implements ShouldBroadcast
public $username;
public function __construct($username)
{
$this->username = $username;
}
public function broadcastOn()
{
return ['test-channel'];
}
服务器:
var server = require('http').Server();
var io = require('socket.io')(server);
var Redis = require('ioredis');
var redis = new Redis();
redis.subscribe('test-channel', function(err, count) {
//
});
redis.on('message', function(channel, message) {
console.log("Received"); // gets printed
message = JSON.parse(message);
io.emit(channel + ':' + message.event, message.data);
});
server.listen(3000);
最后,Client:
<script>
var socket = io('http://192.168.10.10:3000');
socket.on('test-channel:UserAddedFriend', function(data) {
console.log('a'); // nothing logged
console.log(data); // nothing logged
});
</script>
要添加,事件处理程序未使用;但是当我使用事件处理函数并使用die&dump $event
时,它会成功转储。
public function handle(UserAddedFriend $event)
{
dd($event->username . ' added you.');
}
我找到我的问题了。
socket.on('test-channel:UserAddedFriend', function(data)
socket.on('test-channel:App''Events''UserAddedFriend', function(data)
相关文章:
- 客户端服务器REST API captcha实现
- 使用谷歌应用程序脚本将服务器端数据表返回到客户端
- 如何轻松地将服务器端变量从Java代码转移到客户端代码
- 服务器端事件+客户端事件与Websocket
- 使用c#中的邮件附件javascript在客户端机器上获取服务器端导出的crystal报告路径.下面的
- 如何防止在客户端/服务器两侧对文本框进行sql注入
- 如何在VB中先执行客户端代码,然后再执行服务器端代码
- 正在使用在服务器端或客户端执行的 Jquery 函数
- 客户端HTML MVC渲染与服务器端通过NodeJS进行重定
- 在进行服务器端渲染时,我可以向客户端发送React组件吗
- 在app.settings中传递javascript变量(客户端变量到服务器端)
- 主干将客户端渲染与服务器端渲染区分开来
- 如何在不使用处理程序的情况下使用ajax将文件从客户端发送到服务器端
- 合并客户端/服务器端模板引擎
- 在客户端/服务器端检索原始电影大小
- 混合客户端/服务器端测试
- 是否存在客户端+服务器端MVC JS框架
- 在哪里托管Wakanda[客户端/服务器端纯JS'框架']
- 客户端服务器端模板nodejs
- Javascript在客户端/服务器端运行