Я использую библиотеку SocketRocket для Objective-C для подключения к websocket:
-(void)open {
if( self.webSocket ) {
[self.webSocket close];
self.webSocket.delegate = nil;
}
self.webSocket = [[SRWebSocket alloc] initWithURLRequest:[NSURLRequest requestWithURL:[NSURL URLWithString:@"ws://192.168.0.254:5864"] cachePolicy:NSURLRequestUseProtocolCachePolicy timeoutInterval:20]];
self.webSocket.delegate = self;
[self.webSocket open];
}
Открытие соединения работает отлично. Делегат вызывается после установления соединения.
-(void)webSocketDidOpen:(SRWebSocket *)webSocket {
NSLog(@"WebSocket is open");
}
Но когда я хочу закрыть соединение, ничего не происходит.
-(void)close {
if( !self.webSocket )
return;
[self.webSocket close];
self.webSocket.delegate = nil;
}
Делегат для успешного закрытия соединения не вызывается. Может ли кто-нибудь сказать мне, почему это происходит?
Спасибо, что прочитали мой вопрос.