来自WatchOS 2和CFStream的套接字连接

时间:2015-10-27 11:48:32

标签: apple-watch watch-os-2

我必须通过Watch的tcp socket连接远程服务器。

我已经使用CFStream编写了一段代码,它可以从Watch模拟器中完美运行。

当我在Watch上运行时,我收到此错误:

  

无法完成操作。无法分配请求的地址(代码= 49)

当我尝试使用CFStreamCreatePairWithSocketToHost打开与服务器的连接时。

Apple文档声明CFStreamCreatePairWithSocketToHost

  

在watchOS 2.0及更高版本中可用。

所以我预计它应该可以工作,但我发现Apple的工程师答案确认无法从Watch开启tcp连接:

Socket communication does not work real Apple Watch

任何人都可以澄清并帮助我理解吗?

假设我无法从Watch打开tcp连接,我有哪些替代方案,因为我无法使用[NSURLSession]?

我可以使用[WCSession]提供的一种通信方法,但是当iPhone应用程序未运行或不在前台时它们是否正常工作?

1 个答案:

答案 0 :(得分:1)

您可以使用WCSession's sendMessage API在后台唤醒iOS应用,并让Stream为您工作。