Objective c 如何使用GKSession从服务器向客户端发送请求?

Objective c 如何使用GKSession从服务器向客户端发送请求?,objective-c,ios,gksession,Objective C,Ios,Gksession,我想知道如何使用GKSession将请求从服务器发送到客户端? GKSession的参考类说明如下: - (void)connectToPeer:(NSString *)peerID withTimeout:(NSTimeInterval)timeout Parameters peerID The string that 标识要连接到的对等方 超时取消连接之前要等待的时间量 尝试 讨论 当应用程序充当客户端时,它将调用此方法以 连接到它发现的可用对等方。当你申请时 调用此方法时,请求被传输到远

我想知道如何使用GKSession将请求从服务器发送到客户端? GKSession的参考类说明如下:

- (void)connectToPeer:(NSString *)peerID withTimeout:(NSTimeInterval)timeout Parameters peerID The string that
标识要连接到的对等方

超时取消连接之前要等待的时间量 尝试

讨论

当应用程序充当客户端时,它将调用此方法以 连接到它发现的可用对等方。当你申请时 调用此方法时,请求被传输到远程对等方,而远程对等方 选择是接受还是拒绝连接请求


如果我是服务器,我应该使用什么?

作为一个服务器,您可以使用它进行客户端连接

peer2peerSession.available = YES;

以下是创建GKSession实例作为服务器的示例:

[[GKSession alloc] initWithSessionID:sessionID displayName:@"Chris" sessionMode : GKSessionModeServer];
下面是一个如何创建GKSession作为客户端的示例:

[[GKSession alloc] initWithSessionID:sessionID displayName:@"Angel" sessionMode : GKSessionModeClient];
GKSessionModelPeer将创建一个GKSession实例,该实例将自己作为服务器进行广告,同时查找广告服务器(换句话说,充当搜索服务器的客户端)

然后需要为GKSession对象设置一个委托,然后委托需要实现以下委托方法:

- (void)session:(GKSession *)session peer:(NSString *)peerID didChangeState : (GKPeerConnectionState)state
在上述方法中,您将从会话中接收到设备可用、不可用、已连接等消息

要发送请求,请执行以下操作:

[_session connectToPeer:peerID withTimeout:_session.disconnectTimeout];
要接受请求,请执行以下操作:

[_session acceptConnectionFromPeer:peerID error:&error];
这里包含大量代码,您可以在这里找到理解所有内容的最佳教程: