我有以下情况:在iOS上有没有办法找到socket对等进程的pid?
- 两个应用程序(我和第三方)需要在沟通TCP/IP
- 我可以改变我的应用程序的代码,而不是第三方应用程序
- 协议无法更改(因为我无法更改第三方应用程序)。
在我的应用程序中,我想确保我与正确的应用程序交谈。
我知道我能得到同行端口geetpeername
我所寻找的是要弄清楚它使用此端口的进程的PID方式。
我发现了类似的问题:How do you determine the PID of a peer TCP connection on the same iOS device? 但是,在他的情况下,两个端口都在同一个应用程序。
声明:我对私人API很好。它不会被发送到AppStore。不过,我正在为非越狱手机寻找解决方案。
更新1
我说,我需要的PID,因为那里是已知的(通过sysctl)得到PID和应用程序包ID之间的关联方式。
一般来说,我并不在乎PID本身。我关心的是弄清楚套接字另一端的应用是什么。
这似乎不太可能。 PID如何提供帮助?也许如果你提供更多的细节,我们可以提出替代解决方案。如果其他服务没有真正回答已知响应的连接,它似乎会有某种类型的指纹。 – 2013-05-09 20:44:51
@MarcusAdams我猜如果你能匹配进程名称和pid,我不确定你可以在iOS下做什么,由于沙盒,pid只会有所帮助。但是,我同意,这非常哈克。 – trojanfoe 2013-05-09 20:48:36
@MarcusAdams:我写了一个更新。 – 2013-05-09 20:49:17