sharedController = self;
browser = [[NSNetServiceBrowser alloc] init];
[browser setDelegate:self];
+ rootObject = [[NetworkObject alloc] init];
+ serverPort = [[NSSocketPort alloc] initWithTCPPort:SERVER_PORT];
}
return self;
}
}
[serverPass release];
[clientPass release];
+ [serverPort release];
+ [rootObject release];
[clientProxy release];
[remoteServices release];
[browser release];
{
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] autorelease];
serverConnection = [[NSConnection alloc] initWithReceivePort:serverPort
sendPort:serverPort];
- clientProxy = [[NetworkObject alloc] init];
- [serverConnection setRootObject:clientProxy];
+ [serverConnection setRootObject:rootObject];
+ [rootObject makeValid];
[serverConnection registerName:@"ITMTPlayerHost"];
NS_HANDLER
- [clientProxy release];
[serverConnection setRootObject:nil];
[serverConnection release];
[serverPort release];
} else if (serverOn && !status && [serverConnection isValid]) {
//Turn off
[service stop];
- [clientProxy invalidate];
+ [rootObject invalidate];
[serverConnection registerName:nil];
- [serverConnection setRootObject:nil];
+ [serverConnection invalidate];
+ //[serverConnection setRootObject:nil];
+ //[[serverConnection sendPort] autorelease];
[serverConnection release];
ITDebugLog(@"Stopped server.");
serverOn = NO;