gpt4 book ai didi

ios - 在 Framework 中时未调用 SocketRocket 委托(delegate)方法

转载 作者:行者123 更新时间:2023-11-29 11:59:15 25 4
gpt4 key购买 nike

我将 SocketRocket 移动到自定义框架中,现在未调用委托(delegate)方法。这段代码在不在框架中时确实有效,它在主线程上运行并且委托(delegate)不为空。

   _mSocket = [[SRWebSocket alloc] initWithURLRequest:[NSURLRequest requestWithURL:[NSURL URLWithString:@"wss://websocket.url.here"]]];
_mSocket.delegate = self;
attempts = 0;
[_mSocket open];

- (void)webSocketDidOpen:(SRWebSocket *)webSocket;
{
NSLog(@"Websocket Connected");

// Configure SSL/TLS settings
NSMutableDictionary *settings = [NSMutableDictionary dictionaryWithCapacity:3];



[settings setObject:@"wss://websocket.test.clearcaptions.com" forKey:(NSString *)kCFStreamSSLPeerName];



// // Allow self-signed certificates
[settings setObject:[NSNumber numberWithBool:YES]
forKey:(NSString *)kCFStreamSSLPeerName];

// // In fact, don't even validate the certificate chain
[settings setObject:[NSNumber numberWithBool:NO]
forKey:(NSString *)kCFStreamSSLValidatesCertificateChain];




}

- (void)webSocket:(SRWebSocket *)webSocket didFailWithError:(NSError *)error;
{
NSLog(@":( Websocket Failed With Error %@", error);
_mSocket = nil;
[self _reconnect];
}

- (void)webSocket:(SRWebSocket *)webSocket didReceiveMessage:(id)message;
{
NSLog(@"Received \"%@\"", message);
}

- (void)webSocket:(SRWebSocket *)webSocket didCloseWithCode:(NSInteger)code reason:(NSString *)reason wasClean:(BOOL)wasClean;
{
NSLog(@"WebSocket closed");
[mDelegate protocolMessageAvailable:@"" msgType:STATE_NETWORK_OFFLINE];
_mSocket = nil;
}

- (void)webSocket:(SRWebSocket *)webSocket didReceivePong:(NSData *)pongPayload;
{
NSLog(@"Websocket received pong");
}

最佳答案

我发现了错误。我在 viewdidload 中创建了框架,并在该方法完成时删除了它的值。

关于ios - 在 Framework 中时未调用 SocketRocket 委托(delegate)方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37733088/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com