我正在使用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尚未就绪。但是我该如何解决这个问题呢?我没有找到任何解决方案。
感谢您的帮助!
答案 0 :(得分:1)
可能会建议你的MyClass
存储数据并等到状态准备好onSocketDidSecure
然后发送它?