X-Git-Url: http://git.ithinksw.org/MenuTunes.git/blobdiff_plain/0e4a6623849f7fd40f3c577e08e9ca999abdcc7e..4909f1dfc7aca6fc2d2cfa0ad60897df44f4affe:/NetworkController.m?ds=sidebyside diff --git a/NetworkController.m b/NetworkController.m index 41bf4ac..ac10ab6 100755 --- a/NetworkController.m +++ b/NetworkController.m @@ -1,16 +1,3 @@ -/* - * MenuTunes - * NetworkController - * Rendezvous network controller - * - * Original Author : Kent Sutherland - * Responsibility : Kent Sutherland - * - * Copyright (c) 2003 iThink Software. - * All Rights Reserved - * - */ - #import "NetworkController.h" #import "MainController.h" #import "NetworkObject.h" @@ -141,7 +128,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 +141,7 @@ static NetworkController *sharedController; if (!clientProxy) { ITDebugLog(@"Null proxy! Couldn't connect!"); [self disconnect]; - return NO; + return 0; } if ([clientProxy requiresPassword]) { @@ -202,8 +189,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,8 +206,8 @@ static NetworkController *sharedController; testPort = [[NSSocketPort alloc] initRemoteWithTCPPort:SERVER_PORT host:host]; testConnection = [[NSConnection connectionWithReceivePort:nil sendPort:testPort] retain]; - [testConnection setReplyTimeout:2]; - [testConnection setRequestTimeout:2]; + [testConnection setReplyTimeout:5]; + [testConnection setRequestTimeout:5]; tempProxy = (NetworkObject *)[testConnection rootProxy]; [tempProxy serverName]; valid = [tempProxy isValid]; @@ -289,7 +276,12 @@ static NetworkController *sharedController; ITDebugLog(@"Found service named %@.", [aNetService name]); [remoteServices addObject:aNetService]; [aNetService setDelegate:self]; - [aNetService resolve]; + //Figure out if it responds to the 10.4 method + if ([aNetService respondsToSelector:@selector(resolveWithTimeout:)]) { + (void)[aNetService resolveWithTimeout:5.0]; + } else { + [aNetService resolve]; + } if (!moreComing) { [[NSNotificationCenter defaultCenter] postNotificationName:@"ITMTFoundNetService" object:nil]; } @@ -309,7 +301,7 @@ static NetworkController *sharedController; ITDebugLog(@"Resolved service named %@.", [sender name]); [[NSNotificationCenter defaultCenter] postNotificationName:@"ITMTFoundNetService" object:nil]; if ([[NSUserDefaults standardUserDefaults] boolForKey:@"useSharedPlayer"] && !connectedToServer) { - [[MainController sharedController] checkForRemoteServer]; + [[MainController sharedController] checkForRemoteServerAndConnectImmediately:NO]; } [sender stop]; }