4

私は AsyncSocket を初めて使用し、ポート 5222 (xmpp) で Facebook チャット サーバー (chat.facebook.com) に接続しようと必死に試みていますが、非常にうまく機能します。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 の経験がある人なら誰でもサーバーに接続して、何が間違っているのか教えてもらえますか?

ご協力いただきありがとうございます

4

1 に答える 1

0

XMPPFrameworkの実装を見てみたいと思うかもしれません。XMPP に AsyncSocket (同じ作者も) を使用し、Facebook チャットで動作します。

于 2012-02-15T20:15:40.193 に答える