我有以下情況:在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