Как получить текущий запрос подключения IP-адреса сервера - PullRequest
0 голосов
/ 19 февраля 2019

Мне нужно получить IP-адрес сервера подключения текущего запроса при использовании NSURLSession.Какие методы доступны?

Я пытаюсь использовать

-(void)URLSession:(NSURLSession *)session task:(NSURLSessionTask *)task didFinishCollectingMetrics:(NSURLSessionTaskMetrics *)metrics

, но у него, похоже, нет целевого IP-адреса.

Дополнение для Как я могу получить точно IP-адрес, который использовался для подключения в iOS?

Мне нужно отслеживать производительность сети в существующем проекте, поэтому я не могу заменить NSURLsesion на CFNetwork,Или может кто-нибудь сказать мне, как зацепить или использовать направление нижнего уровня?

Заранее спасибо!

1 Ответ

0 голосов
/ 13 марта 2019

Я собрал эти данные в

 -(void)URLSession:(NSURLSession *)session task:(NSURLSessionTask *)task didFinishCollectingMetrics:(NSURLSessionTaskMetrics *)metric

К сожалению, это частный API.

код:

SEL selector = NSSelectorFromString(@"_timingData");

NSDictionary *timingData = nil;
if ([task respondsToSelector:selector]) {
    timingData = [task performSelector:selector];
}
NSString *remoteServerIP = @"";
if (timingData && [timingData isKindOfClass:[NSDictionary class]]) {
    NSString *key = @"_kCFNTimingDataRemoteAddressAndPort";
    remoteServerIP = timingData[key];
}

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...