No Writing posible:带有AsyncSocket for iOS的SSL / TLS

时间:2012-02-29 13:33:34

标签: iphone ios asyncsocket

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

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

-(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"];

失败了。我认为问题是,当方法想要在套接字上发送消息时,Handshake尚未就绪。但是我该如何解决这个问题呢?我没有找到任何解决方案。

感谢您的帮助!

1 个答案:

答案 0 :(得分:1)

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