У меня есть приложение для iPhone, которое является клиентом для существующего серверного приложения.
Я использую следующий код для подключения, и этот код работал нормально. Сегодня я начал работу над проектом, и происходит нечто странное.
Когда я нажимаю «Подключить», NSHost занимает около 30-45 секунд для разрешения и подключения к хосту. Как только соединение установлено, скорость передачи данных становится нормальной и высокой.
У меня оригинальное клиентское программное обеспечение (приложение для ПК), подключающееся к тому же серверу, и соединение обрабатывается немедленно !!
Возможно, кто-то может пролить свет на эту тему ...
-(IBAction)tryConnection{
[self showLogoffButtons];
iPhone_PNPAppDelegate *mainDelegate = (iPhone_PNPAppDelegate *)[[UIApplication sharedApplication] delegate];
settings=mainDelegate.settings;
[activityindicator startAnimating];
sendState=0;
NSHost* host;
//30-45 second pause happens here (since I am using an IP Address)
host = [NSHost hostWithAddress:settings.masterLocation];
//NSHost returns (eventually) with the correct connection.
if (!host) {
host = [NSHost hostWithName:settings.masterLocation];
}
if( host ) {
[NSStream getStreamsToHost:host port:[settings.masterPort intValue] inputStream:&iStream outputStream:&oStream] ;
if( nil != iStream && nil != oStream ) {
[iStream retain];
[oStream retain];
[iStream setDelegate:self];
[oStream setDelegate:self];
[iStream scheduleInRunLoop:[NSRunLoop currentRunLoop] forMode:NSDefaultRunLoopMode];
[oStream scheduleInRunLoop:[NSRunLoop currentRunLoop] forMode:NSDefaultRunLoopMode];
[iStream open];
[oStream open];
}else{
[self resetConnectionAndScreen];
self.navigationItem.prompt=@"Connection Error! Please check connection settings.";
}
}else{
[self resetConnectionAndScreen];
self.navigationItem.prompt=@"Connection Error! Please check connection settings.";
}
}
// Я также сейчас получаю эти предупреждения. ** .. wth ?! :)
- предупреждение: метод '+ hostWithAddress:' не найден
- предупреждение: (Сообщения без соответствующей сигнатуры метода
- предупреждение: метод '+ hostWithName:' не найден
- предупреждение: «NSStream» может не отвечать на «+ getStreamsToHost: порт: inputStream: outputStream: '