Я довольно новичок в AsyncSocket, и я отчаянно пытаюсь подключить его к серверу чата Facebook (chat.facebook.com) через порт 5222 (xmpp), и он делает это очень хорошо. раньше он работал нормально до того, как Facebook переключился на безопасные сокеты.
Теперь сервер сообщает мне start-tls, поэтому я вызываю [socket startTLS: nil], и он ничего не делает. любая попытка записи в сокет впоследствии ничего не даст. Сервер перестанет отвечать, я не уверен, что делаю не так.
-(void)startTLS:(id)_void
{
NSLog(@"********* StartTLS");
// Configure SSL/TLS settings
NSMutableDictionary *settings = [NSMutableDictionary dictionaryWithCapacity:4];
[settings setObject:host forKey:(NSString *)kCFStreamSSLPeerName];
// Allow expired certificates
[settings setObject:[NSNumber numberWithBool:YES]
forKey:(NSString *)kCFStreamSSLAllowsExpiredCertificates];
//
// Allow self-signed certificates
[settings setObject:[NSNumber numberWithBool:YES]
forKey:(NSString *)kCFStreamSSLAllowsAnyRoot];
//
// In fact, don't even validate the certificate chain
[settings setObject:[NSNumber numberWithBool:NO]
forKey:(NSString *)kCFStreamSSLValidatesCertificateChain];
[socket startTLS:settings];
}
Может ли кто-нибудь с опытом работы с AsyncSocket попытаться подключиться к серверу и сказать, что я делаю не так?
спасибо за вашу помощь