| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106 |
- //
- // SocketServiceHandler.m
- // OneCable
- //
- // Created by KaRam Kim on 2017. 2. 17..
- // Copyright © 2017년 ntels. All rights reserved.
- //
- #import "SocketServiceHandler.h"
- #import <SocketRocket/SRWebSocket.h>
- #import "Definitions.h"
- @interface SocketServiceHandler() <SRWebSocketDelegate>
- {
- SRWebSocket *_socket;
- }
- @end
- @implementation SocketServiceHandler
- + (id)sharedManager
- {
- static SocketServiceHandler *sharedSocketServiceHandler = nil;
- static dispatch_once_t onceToken;
- dispatch_once(&onceToken, ^{
- sharedSocketServiceHandler = [[self alloc] init];
- });
- return sharedSocketServiceHandler;
- }
- - (id) init
- {
- self = [super init];
-
- if (self) {
-
- _isConnected = NO;
- _strSocketURL = kSocketServer;
-
- _socket = [[SRWebSocket alloc] initWithURL:[NSURL URLWithString:_strSocketURL]];
- _socket.delegate = self;
-
- [self socketOpen];
- }
-
- return self;
- }
- - (void) socketOpen
- {
- NSLog(@"socketOpen");
-
- if( _socket != nil )
- [_socket open];
- else
- {
- _socket = [[SRWebSocket alloc] initWithURL:[NSURL URLWithString:_strSocketURL]];
- _socket.delegate = self;
-
- [_socket open];
- }
- }
- - (void) connect
- {
- if( !_isConnected )
- {
- NSString* token = @"";
-
- // if( ![[[APUserDefaultManager sharedManager] getUserDefault:UDKEY_TOKEN] isEqualToString:@""] )
- // token = [[APUserDefaultManager sharedManager] getUserDefault:UDKEY_TOKEN];
-
- NSData * jsonData = [NSJSONSerialization dataWithJSONObject:@{@"token":token} options:0 error:nil];
- NSString * myString = [[NSString alloc] initWithData:jsonData encoding:NSUTF8StringEncoding];
- NSLog(@"%@ : %ld" ,myString, (long)_socket.readyState);
-
- if( _socket.readyState == SR_OPEN )
- {
- [_socket send:myString];
- _isConnected = YES;
- }
- else if ( _socket.readyState == SR_CLOSED || _socket.readyState == SR_CLOSING )
- {
- [self disconnect];
- // [_socket open];
- _socket = nil;
- [self socketOpen];
- }
- }
- }
- - (void) disconnect
- {
- if( _isConnected )
- {
- [_socket close];
- _socket = nil;
- }
- }
- - (void) initWithDelegate:(id<SocketServiceHandlerDelegate>) delegate
- {
- [self setDelegate:delegate];
- }
- @end
|