|
|
@@ -46,6 +46,11 @@
|
|
|
return self;
|
|
|
}
|
|
|
|
|
|
+- (void) initWithDelegate:(id<SocketServiceHandlerDelegate>) delegate
|
|
|
+{
|
|
|
+ [self setDelegate:delegate];
|
|
|
+}
|
|
|
+
|
|
|
- (void) socketOpen
|
|
|
{
|
|
|
NSLog(@"socketOpen");
|
|
|
@@ -82,8 +87,7 @@
|
|
|
else if ( _socket.readyState == SR_CLOSED || _socket.readyState == SR_CLOSING )
|
|
|
{
|
|
|
[self disconnect];
|
|
|
- // [_socket open];
|
|
|
- _socket = nil;
|
|
|
+ _socket = nil;
|
|
|
[self socketOpen];
|
|
|
}
|
|
|
}
|
|
|
@@ -97,9 +101,73 @@
|
|
|
}
|
|
|
}
|
|
|
|
|
|
-- (void) initWithDelegate:(id<SocketServiceHandlerDelegate>) delegate
|
|
|
+#pragma mark - SRWebSocketDelegate
|
|
|
+- (void)webSocketDidOpen:(SRWebSocket *)webSocket
|
|
|
{
|
|
|
- [self setDelegate:delegate];
|
|
|
+ NSLog(@"SOCKET didOpen");
|
|
|
+}
|
|
|
+
|
|
|
+- (void)webSocket:(SRWebSocket *)webSocket didReceiveMessage:(id)message
|
|
|
+{
|
|
|
+ NSLog(@"SOCKET didReceiveMessage : %@", message);
|
|
|
+
|
|
|
+ NSString *errString = @"";
|
|
|
+
|
|
|
+ if( message == nil || [message isEqualToString:@""] )
|
|
|
+ errString = @"message empty";
|
|
|
+ else
|
|
|
+ {
|
|
|
+ if( [message isKindOfClass:[NSString class]] )
|
|
|
+ {
|
|
|
+ NSError* error = nil;
|
|
|
+ NSDictionary *jsonObj = [NSJSONSerialization JSONObjectWithData:[message dataUsingEncoding:NSUTF8StringEncoding]
|
|
|
+ options:NSJSONReadingMutableContainers
|
|
|
+ error:&error];
|
|
|
+
|
|
|
+ if (error != nil) {
|
|
|
+ NSLog(@"NSJSONSerialization JSONObject error: %@", [error localizedDescription]);
|
|
|
+ return;
|
|
|
+ }
|
|
|
+
|
|
|
+ NSInteger msgType = [jsonObj[@"type"] integerValue];
|
|
|
+
|
|
|
+ if ( msgType == 0 ) {
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+ else
|
|
|
+ {
|
|
|
+ NSLog(@"msgType : %i",(int)msgType);
|
|
|
+
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+}
|
|
|
+
|
|
|
+- (void)webSocket:(SRWebSocket *)webSocket didFailWithError:(NSError *)error
|
|
|
+{
|
|
|
+ NSLog(@"WebSocket error: %@", error);
|
|
|
+
|
|
|
+ _isConnected = NO;
|
|
|
+ [_socket close];
|
|
|
+ _socket = nil;
|
|
|
+ [self socketOpen];
|
|
|
+}
|
|
|
+
|
|
|
+- (void)webSocket:(SRWebSocket *)webSocket didReceivePong:(NSData *)pongPayload
|
|
|
+{
|
|
|
+ NSLog(@"WebSocket Receive Pong: %@", pongPayload);
|
|
|
+}
|
|
|
+
|
|
|
+- (void)webSocket:(SRWebSocket *)webSocket didCloseWithCode:(NSInteger)code reason:(NSString *)reason wasClean:(BOOL)wasClean
|
|
|
+{
|
|
|
+ NSLog(@"WebSocket closed with code: %ld reason:%@ wasClean:%d",
|
|
|
+ (long)code, reason, wasClean);
|
|
|
+
|
|
|
+ _isConnected = NO;
|
|
|
+ [_socket close];
|
|
|
+ _socket = nil;
|
|
|
+ [self socketOpen];
|
|
|
}
|
|
|
|
|
|
@end
|