что я хочу сделать, это включить простой сервис bonjour на моем iPod touch. И после того, как я опубликовал свою собственную услугу bonjour, делегат не получил вызов «netServiceDidPublish:». Я также проверяю, нет ли какого-либо сообщения об ошибке из «netService: (NSNetService *) отправитель didNotPublish:». Ниже мой код раздела:NSNetservice не получил приглашение делегата netServiceDidPublish
// AsyncSocket class comes from an awesome project: cocoa async socket.
// http://code.google.com/p/cocoaasyncsocket/
AsyncSocket* listenSocket;
listenSocket = [[AsyncSocket alloc] initWithDelegate:self];
NSError *error;
if (![listenSocket acceptOnPort:0 error:&error])
{
NSLog(@"Error starting server: %@", error);
return NO;
}
int port = [listenSocket localPort];
NSLog(@"Server started on port: %hu", port);
isRunning = YES;
// register itself to bonjour service.
netService = [[[NSNetService alloc] initWithDomain:@"local."
type:@"_sampleservice._tcp"
name:@"myservice"
port:port] autorelease];
if (!netService)
{
NSLog(@"Failed to enable net service");
[listenSocket disconnect];
return NO;
}
[netService setDelegate:self];
[netService scheduleInRunLoop:[NSRunLoop currentRunLoop] forMode:NSDefaultRunLoopMode];
//[netService publishWithOptions:NSNetServiceNoAutoRename];
[netService publish];
После этого участка кода, я могу получить «netServiceWillPublish» делегированное вызов, но нет «netServiceDidPublish» Есть ли у кого-либо идеи? Заранее спасибо.
Это действительно работало. Огромное спасибо. – dokinkon