【问题标题】:Achieve Inter-App Communication on iOS through sockets在 iOS 上通过 socket 实现 App 间通信
【发布时间】:2015-08-25 15:41:48
【问题描述】:

我想知道如何在 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 sockets background-process


    【解决方案1】:

    检查这个答案:iOS - Is it possible to communicate between apps via localhost?

    另外,请记住确保当其他应用进入前台时,您的后台应用不会停止(默认情况下,应用会停止)

    但总的来说,我认为这不是进行应用程序间通信的好方法:iOS 的“精神”通常是只有一个应用程序在前台运行。那么为什么需要与后台应用程序通信呢?我很确定您可以找到更好的方法来实现您的结果。

    【讨论】:

    • 您的意思是 是应用程序通信的好方法。它/它们会是什么?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-03-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多