首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >GKSession问题- Objective-C GameKit

GKSession问题- Objective-C GameKit
EN

Stack Overflow用户
提问于 2009-06-30 14:30:49
回答 1查看 4.2K关注 0票数 5

好吧,我一直在尝试创建我自己的GKSession对象,委托方法在控制台中给了我一个错误,我还没有想出如何修复这个错误。我想知道是否有人有任何建议或遇到过这个问题?*只需注意-变量peerStatus在我的代码中的其他地方定义。对等体可以被赋予"kServer“或"kClient”的状态。我更愿意将每一个都定义为GKSessionModeServer或GKSessionModeClient,因为我读到过,如果对等体使用GKSessionModePeer,性能时间实际上会更慢,因为它必须同时完成客户端和服务器的工作。

代码语言:javascript
复制
- (GKSession *)peerPickerController:(GKPeerPickerController *)picker sessionForConnectionType:(GKPeerPickerConnectionType)type {
    if (peerStatus == kServer) {
        GKSession *session = [[GKSession alloc] initWithSessionID:@"Josh_Land" displayName:nil sessionMode:GKSessionModeServer];
        return [session autorelease];
    }
    else {
        GKSession *session = [[GKSession alloc] initWithSessionID:@"Josh_Land" displayName:nil sessionMode:GKSessionModeClient];
        return [session autorelease]; 
    }
}

整个错误代码是:

侦听端口56386 2009-06-30 10:31:41.892 GKTank17756:20b *由于未捕获的异常“”GKInvalidArgumentException“”正在终止应用程序,原因:“必须提供具有GKSessionModePeer模式的有效GKSession对象,或者在-peerPickerController:sessionForConnectionType:.的实现中创建返回”“nil”“的默认GKSession对象提供的对象为:已发送807902715个数据包:冲刺(0个数据包0字节):依赖(0个数据包0字节):rtry (0个数据包0字节):sack (0个数据包0字节):当前加权平均rtt (0 ms),会话模式: 0‘2452446779 -06-30 10:31:41.893 GKTank17756:20b堆栈:( 807902715,2009,807986683,807986522,927035842,927037074,927038407,815223834,927038949,9245,8562,814709201,815110321,815119058、815114270、814813151、814722763、814748641、839148405、807687520、807683624、839142449、839142646、814752238 )

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2009-06-30 17:36:48

我实际上还没有使用GameKit实现任何东西,但只要看一下文档,就会发现只有在使用GKSessionModePeer的情况下才能使用GKPeerPickerController。如果你想使用GKSessionModeServer/Client,你需要直接处理会话和它们的代理。请参阅Implementing a ServerConnecting to a Service上的游戏工具包编程指南中的部分。

您的主要功能将围绕GKSessionDelegate方法展开

客户端和服务器模式下的-session:peer:didChangeState:

服务器模式下的-acceptConnectionFromPeer:error:-denyConnectionFromPeer:

票数 7
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1064008

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档