diff --git a/ios/TcpSocketClient.m b/ios/TcpSocketClient.m index 80e22d5..e08667f 100644 --- a/ios/TcpSocketClient.m +++ b/ios/TcpSocketClient.m @@ -137,9 +137,6 @@ - (void)startTLS:(NSDictionary *)tlsOptions { _certPath = certResourcePath; [settings setObject:[NSNumber numberWithBool:YES] forKey:GCDAsyncSocketManuallyEvaluateTrust]; - } else { - // Default certificates - [settings setObject:_host forKey:(NSString *)kCFStreamSSLPeerName]; } _tls = true; [_tcpSocket startTLS:settings]; diff --git a/ios/TcpSockets.m b/ios/TcpSockets.m index 23c961f..dcc5856 100644 --- a/ios/TcpSockets.m +++ b/ios/TcpSockets.m @@ -185,20 +185,28 @@ - (void)onWrittenData:(TcpSocketClient *)client msgId:(NSNumber *)msgId { - (void)onConnect:(TcpSocketClient *)client { GCDAsyncSocket *socket = [client getSocket]; - [self sendEventWithName:@"connect" - body:@{ - @"id" : client.id, - @"connection" : @{ - @"localAddress" : [socket localHost], - @"localPort" : - [NSNumber numberWithInt:[socket localPort]], - @"remoteAddress" : [socket connectedHost], - @"remotePort" : [NSNumber - numberWithInt:[socket connectedPort]], - @"remoteFamily" : [socket isIPv4] ? @"IPv4" - : @"IPv6" - } - }]; + if([socket localHost] != nil && [socket connectedHost] != nil && [socket localPort] != nil + && [socket connectedPort] != nil) { + [self sendEventWithName:@"connect" + body:@{ + @"id" : client.id, + @"connection" : @{ + @"localAddress" : [socket localHost], + @"localPort" : + [NSNumber numberWithInt:[socket localPort]], + @"remoteAddress" : [socket connectedHost], + @"remotePort" : [NSNumber + numberWithInt:[socket connectedPort]], + @"remoteFamily" : [socket isIPv4] ? @"IPv4" + : @"IPv6" + } + }]; + } else { + NSString *msg = + [NSString stringWithFormat:@"no client found with id %@", client.id]; + [self sendEventWithName:@"error" body:@{@"id" : client.id, @"error" : msg}]; + } + } - (void)onListen:(TcpSocketClient *)server {