ここから「Chatty」アプリを変更しています: http://mobileorchard.com/tutorial-networking-and-bonjour-on-iphone/
複数のクライアントから情報をすばやく受信するサーバーを作成しようとしていますが、実際には何も送り返しません。Wifi と Bluetooth の両方を同時に使用しているため、ネットワークのスループットを最大化したいと考えています。ハンドシェイク/パケットシーケンスの検証がないため、UDP プロトコルの方が高速である可能性があると思います。
「_chatty._tcp.」を変更しています。「_chatty._udp」に。この例で十分ですか?NSNetService のドキュメントを確認しましたが、UDP については何も表示されません。
- (BOOL) publishService {
// come up with a name for our chat room
NSString* chatRoomName = [NSString stringWithFormat:@"%@'chat room", [[AppConfig getInstance] name]];
// create new instance of netService
self.netService = [[NSNetService alloc]
initWithDomain:@"" type:@"_chatty._tcp."
name:chatRoomName port:self.port];
if (self.netService == nil)
return NO;
// Add service to current run loop
[self.netService scheduleInRunLoop:[NSRunLoop currentRunLoop]
forMode:NSRunLoopCommonModes];
// NetService will let us know about what's happening via delegate methods
[self.netService setDelegate:self];
// Publish the service
[self.netService publish];
return YES;
}
// Start browsing for servers
- (BOOL)start {
// Restarting?
if ( netServiceBrowser != nil ) {
[self stop];
}
netServiceBrowser = [[NSNetServiceBrowser alloc] init];
if( !netServiceBrowser ) {
return NO;
}
netServiceBrowser.delegate = self;
[netServiceBrowser searchForServicesOfType:@"_chatty._tcp." inDomain:@""];
return YES;
}