こんにちは私はgksessionを使用してデータを送信しています。コードは以下のとおりです。ここでは、データの送信は正常に機能し、データを送信したメッセージが表示されます。しかし、他のデバイスでデータを受信できません。コードをデバッグすると、呼び出しと送信が行われません。メソッド内でデータを受信します。これについて誰かが何か考えていますか?ここで何が問題になっていますか、またはどうすれば問題を解決できますか?
- (void)viewDidLoad {
[super viewDidLoad];
gs=[manager getgkSession];
//[cs retain]
self.title = [manager displayNameForPeer:manager.currentConfPeerID];
NSLog(@"name of mangager is %@",self.title);
}
-(IBAction) btnSend:(id) sender
{
//---convert an NSString object to NSData---
NSData* data;
NSError *error=nil;
NSString *str = [NSString stringWithString:txtMessage.text];
data = [str dataUsingEncoding: NSASCIIStringEncoding];
if (gs)
{
[self.gs sendDataToAllPeers:data
withDataMode:GKSendDataReliable
error:&error];
if (!error)
{
NSLog(@"Did send data");
}
else
{
NSLog(@"Send data failed: %@", [error localizedDescription]);
}
}
}
- (void) receiveData:(NSData *)data
fromPeer:(NSString *)peer
inSession:(GKSession *)session
context:(void *)context {
//---convert the NSData to NSString---
NSString* str;
str = [[NSString alloc] initWithData:data encoding:NSASCIIStringEncoding];
NSLog(@"data received is %@",str);
UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Data received"
message:str
delegate:self
cancelButtonTitle:@"OK"
otherButtonTitles:nil];
NSLog(@"receive data");
[alert show];
[alert release];
}