我有以下情况:
- iOS 上的两个应用程序(我的和第 3 方)需要通过 TCP/IP 进行通信
- 我可以更改我的应用程序的代码,但不能更改第 3 方应用程序的代码
- 协议无法更改(因为我无法更改第 3 方应用程序)。
在我的应用程序中,我想确保我与正确的应用程序交谈。
我知道如何使用geetpeername获取对等端口
我正在寻找的是一种找出使用此端口的进程的 pid 的方法。
我发现了类似的问题:How do you determine the PID of peer TCP connection on the same iOS device? 但是,在他的情况下,两个端口都在同一个应用程序中。
免责声明:我对私有 API 很好。它不会被发送到 AppStore。但是,我正在寻找非越狱手机的解决方案。
更新 1
我说我需要 PID,因为有已知的方法可以在 PID 和应用程序包 id 之间建立关联(使用 sysctl)。
一般来说,我不关心 PID 本身。我关心的是弄清楚套接字另一侧的应用程序是什么。