2013-07-09 3 views
2

Я пытаюсь подключиться к удаленному серверу с помощью XMPPFramework в приложении iOS. Приложение прекрасно соединяется как с моим сервером openfire на localhost, так и с моей публичной учетной записью jabber. Только когда я пытаюсь подключиться к серверу dev моего университета, это просто не сработает, и никто из методов делегата не будет вызван. Также объект NSError не передан методу connect, заполненному чем-либо.Не удается подключиться к удаленному серверу с помощью XMPPFramework

В основном я соединяясь с помощью следующего кода:

- (BOOL)connect { 
    if ([xmppStream isConnected]) { 
     return YES; 
    } 

    [xmppStream setMyJID:jabberID]; 
    [xmppStream setHostName:[self hostName]]; 

    NSError* error = nil; 
    if (![xmppStream connect:&error]) { 
     NSLog(@"Couldn't connect because of error: %@", [error localizedDescription]); 
     return NO; 
    } 

    return YES; 
} 

Я вставил много заявлений журнала, которые показывают, что все значения являются правильными, и, как я сказал, это работает для других моих JID.

Я также попытался использовать IP-адрес как имя хоста, без успеха.

Еще одно подозрение, которое я обнаружил, заключается в том, что процесс подключения застревает, когда сервер отправляет ненадежный сертификат, но я добавил его в брелок из Adium, и он все еще не работает.

Так что может быть проблема? Я могу подключиться к любому другому серверу, который у меня есть для тестирования, и я также могу подключиться к рассматриваемому серверу с Adium, но не в моем приложении, используя XMPPFramework.

+0

Успешно ли подключается http и сбойные https? –

+0

Что-то вроде этого, но XMPP строит поверх TCP, а не HTTP (S). – Richard

ответ

0

Проблема заключалась в том, что серверу требовались защищенные соединения, и каким-то образом я не мог этого сделать, используя XMPPFramework. У меня был советник в университете, который установил параметры сервера для дополнительных безопасных подключений, и теперь он работает.

Смежные вопросы