X-Git-Url: http://git.ithinksw.org/MenuTunes.git/blobdiff_plain/f2cd38f53e8a04284b9f6db3dbf704a96063d67d..865ed626fce033da225a4a93646ad185f72c74ff:/NetworkController.m diff --git a/NetworkController.m b/NetworkController.m index f2989e3..b191c6d 100755 --- a/NetworkController.m +++ b/NetworkController.m @@ -98,7 +98,7 @@ static NetworkController *sharedController; name:name port:SERVER_PORT]; fullPass = [[NSUserDefaults standardUserDefaults] dataForKey:@"sharedPlayerPassword"]; - if (fullPass) { + if ([fullPass length]) { [fullPass getBytes:&buffer range:NSMakeRange(6, 4)]; [serverPass release]; serverPass = [[NSData alloc] initWithBytes:&buffer length:strlen(&buffer)]; @@ -141,7 +141,7 @@ static NetworkController *sharedController; clientPort = [[NSSocketPort alloc] initRemoteWithTCPPort:SERVER_PORT host:host]; clientConnection = [[NSConnection connectionWithReceivePort:nil sendPort:clientPort] retain]; - [clientConnection setReplyTimeout:5]; + [clientConnection setReplyTimeout:10]; clientProxy = [[clientConnection rootProxy] retain]; connectedToServer = YES; NS_HANDLER @@ -154,7 +154,7 @@ static NetworkController *sharedController; if (!clientProxy) { ITDebugLog(@"Null proxy! Couldn't connect!"); [self disconnect]; - return NO; + return 0; } if ([clientProxy requiresPassword]) { @@ -202,8 +202,8 @@ static NetworkController *sharedController; { NSData *fullPass = [[NSUserDefaults standardUserDefaults] dataForKey:@"connectPassword"]; unsigned char buffer; - NSConnection *testConnection; - NSSocketPort *testPort; + NSConnection *testConnection = nil; + NSSocketPort *testPort = nil; NetworkObject *tempProxy; BOOL valid; ITDebugLog(@"Checking for shared remote at %@.", host); @@ -219,7 +219,8 @@ static NetworkController *sharedController; testPort = [[NSSocketPort alloc] initRemoteWithTCPPort:SERVER_PORT host:host]; testConnection = [[NSConnection connectionWithReceivePort:nil sendPort:testPort] retain]; - [testConnection setReplyTimeout:2]; + [testConnection setReplyTimeout:5]; + [testConnection setRequestTimeout:5]; tempProxy = (NetworkObject *)[testConnection rootProxy]; [tempProxy serverName]; valid = [tempProxy isValid]; @@ -230,7 +231,7 @@ static NetworkController *sharedController; return NO; NS_ENDHANDLER - if (!clientProxy) { + if (!tempProxy) { ITDebugLog(@"Null proxy! Couldn't connect!"); [testConnection release]; [testPort release]; @@ -307,6 +308,9 @@ static NetworkController *sharedController; { ITDebugLog(@"Resolved service named %@.", [sender name]); [[NSNotificationCenter defaultCenter] postNotificationName:@"ITMTFoundNetService" object:nil]; + if ([[NSUserDefaults standardUserDefaults] boolForKey:@"useSharedPlayer"] && !connectedToServer) { + [[MainController sharedController] checkForRemoteServerAndConnectImmediately:NO]; + } [sender stop]; }