无法编写:SSL / TLS with AsyncSocket for iOS

Posted

技术标签:

【中文标题】无法编写:SSL / TLS with AsyncSocket for iOS【英文标题】:No Writing posible: SSL / TLS with AsyncSocket for iOS 【发布时间】:2012-02-29 13:33:34 【问题描述】:

我正在使用适用于 ios 的 AsyncSocket。 (https://github.com/robbiehanson/CocoaAsyncSocket)

我编写了自己的类来处理与 AsyncSocket 的连接。我编写了 writeDate: (NSString *) data 方法,并在我的 Class 中添加了 AsyncSocket Callbackfunctions。

-(void)writeData: (NSString*) data

    NSString *test = [NSString stringWithFormat:@"test"];
    NSData *raw = [test dataUsingEncoding:NSUTF8StringEncoding];
    [socket writeData:raw withTimeout:-1 tag:1];

连接效果很好,如果我在 [sock startTLS:setting] 之后尝试在“didConnectToHost”中发送消息,它可以工作。

但如果我尝试使用自己的方法(writeDate: (NSString *) 数据)和调用发送消息:

MyClass *test = [MyClass sharedSSLConnection];
[test writeData:@"test"];

失败了。我认为问题是,当方法想要在套接字上发送消息时,握手还没有准备好。但是我该如何解决呢?我没有找到任何解决方案。

感谢您的帮助!

【问题讨论】:

错误消息是 (willDisconnectWithError:Error Domain=kCFStreamErrorDomainSSL Code=-9844 "操作无法完成。(kCFStreamErrorDomainSSL error -9844.)")。但是在 writeData 中的代码执行之前不会调用 onSocketDidSecure。 【参考方案1】:

可能会建议您的MyClass 存储数据并等到状态准备好onSocketDidSecure 然后再发送?

【讨论】:

以上是关于无法编写:SSL / TLS with AsyncSocket for iOS的主要内容,如果未能解决你的问题,请参考以下文章

pip is configured with locations that require TLS/SSL问题

How to build the vsftpd server with TLS/SSL encryption

You are running Composer with SSL/TLS protection disabled.

无法为具有权限“xxxxx.com”的 SSL/TLS 建立安全通道

pip is configured with locations that require TLS/SSL, however the ssl module in Python is not 解决方法(

pip is configured with locations that require TLS/SSL, however the ssl module in Python is not avail