sockets - flutter : keep socket io open while app in background (IOS)

标签 sockets flutter socket.io background

我正在构建使用 flutter_pllayout 的应用程序和 adhara_socket_io

应用场景

当应用程序启动时,它连接到一个套接字并在随机时间继续接收音频 url,然后它播放这个 url,它在 android 上工作正常

问题

但是在 iOS 中,当用户切换到主页或任何其他应用程序时(当我的应用程序在后台时)它似乎关闭了套接字的连接并在应用程序进入前台时继续,有什么办法可以保持套接字连接打开?

最佳答案

iOS 上的后台任务非常有限。仅当您使用正确的 Info.plist 详细信息不断播放音频时才有效。

如果您想要经常性(cron 作业任务)客户端,请使用:BGTaskScheduler (对于 iOS),另一种选择是使用 cron 作业触发推送通知任务(您甚至可以为此使用 Firebase Functions)服务器端。

官方文档:BFTaskScheduler , Background Behavior iOS , Enabling Background Audio

不,套接字连接不能一直保持打开状态(即使在最新版本的 Android 操作系统上也是如此)。同样,使用 cron 作业任务来实现类似的行为。

官方文档:Android Background limitations

关于sockets - flutter : keep socket io open while app in background (IOS),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61012409/

相关文章:

Flutter:如何在 Flutter 中使用 Switch 更改主题 - 我已经使用 Provider 实现了此浅色和深色主题,但无法使用 switch 进行更改

Php -> Node.js 传输/桥

javascript - Socket.io console.log 多次

android - 来自另一个 fragment 的 fragment 导航

c - 使用 C 套接字将客户端源端口设置为监听端口

java - 套接字代理服务器重定向 url

c - 在 c 中选择显示奇怪的行为

dart - 如何使用 SingleChildScrollView 使 Stack 布局可滚动?

javascript - 在 HTML 页面中显示 NodeJs 的 console.log

linux - Unix 域套接字如何区分多个客户端?