【发布时间】: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。
标签: iphone ios asyncsocket