Iphone 不允许写入:用于iOS的带AsyncSocket的SSL/TLS

Iphone 不允许写入:用于iOS的带AsyncSocket的SSL/TLS,iphone,ios,asyncsocket,Iphone,Ios,Asyncsocket,我正在使用iOS的AsyncSocket。(https://github.com/robbiehanson/CocoaAsyncSocket) 我编写了自己的类来处理与AsyncSocket的连接。我编写了writeDate:(NSString*)数据方法,并在类中添加了AsyncSocket callbackFunction -(void)writeData: (NSString*) data { NSString *test = [NSString stringWithFormat:

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

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

-(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"];
它失败了。我认为问题在于,当方法想要在套接字上发送消息时,握手还没有准备好。但我怎么才能解决这个问题呢?我没有找到任何解决办法


谢谢你的帮助

可能会建议您的
MyClass
存储数据,并等待状态准备就绪
onSocketDidSecure
然后发送它?

错误消息是(willDisconnectWithError:error Domain=kCFStreamErrorDomainSSL code=-9844“操作无法完成。(kCFStreamErrorDomainSSL错误-9844)”。但在执行writeData中的代码之前,不会调用onSocketDidSecure。