繁体   English   中英

通过套接字在iOS上实现应用间通信

[英]Achieve Inter-App Communication on iOS through sockets

我想知道如何在iOS 7中的iOS上进行跨应用程序通信。我想到,如果我是前台应用程序,则可以绑定到套接字并像服务器一样工作,如果我是后台应用程序(并且有后台)权利(例如音频)),然后我就可以连接到服务器了。 因此,在我看来,可以通过在2个应用程序之间达成一致,并根据是否在前台将哪个应用程序绑定到该端口来切换该应用程序与该端口的绑定,从而实现应用程序间通信。

问题是,我似乎永远无法从后台连接到本地主机,例如,我在循环中有以下代码:

truct addrinfo *server_address;
int ret = getaddrinfo("localhost", "1666", NULL, &server_address);
int connection_id = connect(self.socketHandle, server_address->ai_addr, server_address->ai_addrlen);

并且connection_id始终为-1。 我不确定在绑定过程没有引发任何错误的情况下为什么无法连接。

检查以下答案: iOS-是否可以通过本地主机在应用程序之间进行通信?

另外,请记住当另一个应用程序进入前台时,确保您的后台应用程序没有停止(默认情况下,该应用程序将停止)

但是总的来说,我认为这不是进行应用间通信的好方法:iOS的“精神”通常是仅在前台运行一个应用。 那么,为什么需要与后台应用程序进行通信? 我非常确定,您可以找到一种更好的方法来达到目标​​。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM