如何解决无法将 Flutter 连接到 laravel-websocket 服务器
我已经尝试将我的 Flutter 应用程序连接到 laravel-websockets 服务器近一个月了,但我仍然无法弄清楚。
我在 Laravel 后端使用 Beyondco Larevel Websockets,在 Flutter 前端使用 pusher_client 和 laravel_echo。
我一直在尝试从我的 ios 模拟器连接到我的 Laravel 后端主机,该主机使用了代客安全,但失败了。
我的 Flutter 连接:
Echo echoSetup(token,pusherClient) {
return new Echo({
'broadcaster': 'pusher','client': pusherClient,'key': DotEnv.env['PUSHER_APP_KEY'],'wsHost': DotEnv.env['PUSHER_APP_HOST'],'wsPort': 6001,'disableStats': true,// 'wssport': 6001,// 'forceTLS': true,// 'auth': {
// 'headers': {'Authorization': 'Bearer $token'},// 'Content-Type': 'application/json',// 'Accept': 'application/json'
// },// 'authEndpoint': "https://${DotEnv.env['PUSHER_APP_HOST']}/broadcasting/auth",});
}
PusherClient getPusherClient(String token) {
PusherOptions options = PusherOptions(
host: DotEnv.env['PUSHER_APP_HOST'],wsPort: 6001,encrypted: false,cluster: DotEnv.env['PUSHER_APP_CLUSTER'],// wssport: 6001,// auth: PusherAuth(
// "https://${DotEnv.env['PUSHER_APP_HOST']}/broadcasting/auth",// headers: {
// 'Content-Type': 'application/json',// 'Authorization': 'Bearer ' + token
// },// ),);
return PusherClient(DotEnv.env['PUSHER_APP_KEY'],options,enableLogging: true,autoConnect: false);
}
pusherClient = getPusherClient(token);
pusherClient.connect();
pusherClient.onConnectionStateChange((state) {
print(
"prevIoUsstate: ${state.prevIoUsstate},currentState: ${state.currentState}");
});
pusherClient.onConnectionError((error) {
print(error.message);
});
echo = echoSetup(token,pusherClient);
echo.connect();
echo.channel(channelName).listen(eventName,(PusherEvent e) {
print("It Worked");
print(e.data);
});
我的 Flutter 应用程序似乎无法连接。如果它连接,当我启用 SSL 时它将无法工作。
请帮助我解决设置中的问题,为什么我无法从 Flutter 应用程序连接到运行 laravel-websocket 的 SSL 代客服务器。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。