您好,我正在使用 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];
}