X-Git-Url: http://git.ithinksw.org/MenuTunes.git/blobdiff_plain/c9a21871b37d415af1d0723715c43bbfae86c25a..7c8b58558998c9369bbf1953c49a883eabea5e73:/NetworkController.m?ds=sidebyside diff --git a/NetworkController.m b/NetworkController.m index 24e8264..1d180c6 100755 --- a/NetworkController.m +++ b/NetworkController.m @@ -69,17 +69,20 @@ static NetworkController *sharedController; { if (!serverOn && status) { NSString *name = [[NSUserDefaults standardUserDefaults] stringForKey:@"sharedPlayerName"]; + NSPort *serverPort; unsigned char buffer; NSData *fullPass; //Turn on NS_DURING - serverPort = [[NSSocketPort alloc] initWithTCPPort:SERVER_PORT]; + serverPort = [[[NSSocketPort alloc] initWithTCPPort:SERVER_PORT] autorelease]; serverConnection = [[NSConnection alloc] initWithReceivePort:serverPort sendPort:serverPort]; - [serverConnection setRootObject:[[NetworkObject alloc] init]]; + clientProxy = [[NetworkObject alloc] init]; + [serverConnection setRootObject:[clientProxy autorelease]]; [serverConnection registerName:@"ITMTPlayerHost"]; NS_HANDLER [[serverConnection rootObject] release]; + [serverConnection setRootObject:nil]; [serverConnection release]; [serverPort release]; ITDebugLog(@"Error starting server!"); @@ -108,7 +111,6 @@ static NetworkController *sharedController; //Turn off [service stop]; [serverConnection registerName:nil]; - [[serverConnection rootObject] release]; [serverConnection release]; ITDebugLog(@"Stopped server."); serverOn = NO; @@ -197,6 +199,7 @@ static NetworkController *sharedController; NSConnection *testConnection; NSSocketPort *testPort; NetworkObject *tempProxy; + BOOL valid; ITDebugLog(@"Checking for shared remote at %@.", host); if (fullPass) { [fullPass getBytes:&buffer range:NSMakeRange(6, 4)]; @@ -213,6 +216,7 @@ static NetworkController *sharedController; [testConnection setReplyTimeout:2]; tempProxy = (NetworkObject *)[testConnection rootProxy]; [tempProxy serverName]; + valid = [tempProxy isValid]; NS_HANDLER ITDebugLog(@"Connection to host failed: %@", host); [testConnection release]; @@ -228,7 +232,7 @@ static NetworkController *sharedController; } [testConnection release]; [testPort release]; - return YES; + return valid; } - (BOOL)isServerOn