【发布时间】:2021-04-23 22:30:31
【问题描述】:
我正在尝试使用此包在颤振应用程序中添加websockets:laravel_echo: ^0.2.9。
我的应用程序中有通知和消息,所以如果我只为两者中的一个创建websocket,它就可以正常工作。但是,如果我添加第二个websocket,它们都会停止工作。
代码片段:
pusher_socket.dart
class PusherSocket {
Echo socket({ String authToken }){
PusherAuth _auth = PusherAuth(
'https://api.example.com/broadcasting/auth',
headers: {
'Authorization': '$authToken',
},
);
PusherOptions options = PusherOptions(
host: "api.example.com",
port: 6003,
encrypted: true,
auth: _auth,
cluster: "CLT",
);
FlutterPusher pusher = FlutterPusher("MY_KEY", options, enableLogging: false );
return new Echo({
'broadcaster': 'pusher',
'client': pusher,
});
}
}
在页面中收听
注意:我想在不同的页面中使用这段代码
Echo echo = new PusherSocket().socket(authToken: conversationProvider.authToken);
echo
.join("conversation.${conversationProvider.conversation.id}")
.listen('NewMessage', (data) {
print(data);
try {
final message = data;
Message _message = Message.fromJson(message);
conversationProvider.addMessage(message: _message);
} catch (error) {
}
});
我做错了什么吗?
【问题讨论】:
标签: flutter dart websocket laravel-echo