2011-11-07 2 views
4

저는 AsyncSocket에 익숙하지 않아 필자는 5222 포트 (xmpp)의 Facebook 채팅 서버 (chat.facebook.com)에 연결하려고 필사적으로 노력하고 있습니다. 페이스 북이 보안 소켓으로 전환하기 전에는 잘 작동했습니다.AsyncSocket TLS HOWTO

이제 서버에서 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 환경을 가진 사람이라면 누구나 서버에 연결하여 내가 뭘 잘못하고 있다고 말할 수 있습니까? 당신의 도움에 대한

감사

답변

0
당신은 XMPPFramework 구현을 살펴 할 수 있습니다

, 그것은 XMPP에 대한 AsyncSocket (같은 작가도)를 사용하고, 페이스 북 채팅으로 작동합니다.