我只是想知道我是否可以获得我的应用程序建立的网络连接数(访问我的服务器)?借助此链接运行进程列表,我可以在后台获取我的应用程序信息(进程名称和 ID)
但是struct kp_proc有许多子进程,它们都有自己的子进程。所以我无法猜测哪个特定键会显示我的网络连接列表??任何人都知道吗?例如一些过程
我只是想知道我是否可以获得我的应用程序建立的网络连接数(访问我的服务器)?借助此链接运行进程列表,我可以在后台获取我的应用程序信息(进程名称和 ID)
但是struct kp_proc有许多子进程,它们都有自己的子进程。所以我无法猜测哪个特定键会显示我的网络连接列表??任何人都知道吗?例如一些过程
也许lsof
(列出打开的文件)对您有用。它可以显示特定进程的打开连接(确实是打开的套接字),例如。对于进程 99340:
$ lsof -i -a -p 99340
你用什么来提出请求?如果您使用的是本机框架,那么 NSURLConnection 您可以在子类中覆盖这些方法:
+ (NSData *)sendSynchronousRequest:(NSURLRequest *)request returningResponse:(NSURLResponse **)response error:(NSError **)error
+ (void)sendAsynchronousRequest:(NSURLRequest *)request queue:(NSOperationQueue *)queue completionHandler:(void (^)(NSURLResponse*, NSData*, NSError*))handler
- (void)start
并增加一个全局值以跟踪您在应用程序的生命周期内启动了多少连接,这可能不是最好的解决方案,因为这不考虑故障,另一种解决方案可能是使用一些分析服务,如 newrelic 或类似的
试试 PonyDebugger,它并不完美,但在许多其他功能中,它显示了应用程序正在进行的所有互联网调用https://github.com/square/PonyDebugger