【问题标题】:failed to create oob message?未能创建 oob 消息?
【发布时间】:2010-06-30 19:21:49
【问题描述】:

您好,我正在尝试在两次 ipod touch 之间构建一个简单的聊天客户端,作为学习 Bonjour 的开始。 我很好地连接了两个设备,一切似乎都可以正常工作。我可以毫无问题地发送数据(没有错误),但是我什么时候应该接收数据而我没有。当我查看日志时,我看到“GCKSessionEvent_IncomingOOBPacket:未能创建 oob 消息”我试过了 谷歌搜索该消息的一部分以寻找一些答案,但实际上有 0 个结果。我希望这里的人可能有答案。

谢谢

KC

回复评论:

三个调用是

-(IBAction)SendMessage
{   
NSData* aData = [[NSData alloc] initWithData:[typeText.text dataUsingEncoding: NSUTF8StringEncoding]];
    NSUTF8StringEncoding];
    [self sendDataToPeers:aData];
}

-(void)sendDataToPeers:(NSData*)data
{
    NSError* err;
    BOOL didSend = [self.mySession sendDataToAllPeers:data withDataMode:GKSendDataReliable error:&err];
}

-(void) receiveData:(NSData*)data fromPeer:(NSString*)peer inSession:(GKSession*)session context:(void*)context
{
    NSString* text = [[[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding]autorelease];
    self.displayText.text = text;
}

【问题讨论】:

  • 听起来您正试图以某种方式将带外数据发送到其他客户端。您使用什么样的调用来发送/接收数据?
  • 感谢 Kenny,我是这个网站的新手,不知道如何实现。更好的格式。
  • 更多信息。现在在尝试构建期间大约有 4 次我得到了这个弹出框。 “无法启动调试器。CFSocketSetAddress 返回错误 '-1' 尝试重新启动您的设备和/或 Macintosh。”

标签: objective-c bonjour gamekit


【解决方案1】:

我也在用 Wifi 和 GKSession 做 iphone 到 iphone。在中止会话(也称为调试或崩溃)之后,Bonjour(或 GKsessions)似乎感到困惑,同样的情况也发生在我身上。在 OS 3.x 中没有消息,只有挂起。在 OS 4.x 中,我收到消息“GCKSessionEvent_IncomingOOBPacket ...”。我不知道这意味着什么,但重新启动 GKsession 或重新连接或有时只是等待解决问题。我怀疑由于对等方/接收方搞砸了,出站数据的缓冲区可能已满。

【讨论】:

    【解决方案2】:

    Kendrick,假设您使用的是 4.0 SDK,那么您可能是 SOL。 GKSession 在最近引入的 4.0 SDK(崩溃、错误、缓慢)中有许多显示停止器错误。此消息是由于其中之一。我知道,因为当他们发布 4.0 时我正要提交我的 GameKit 应用程序,现在我正在等待 4.1 以便我可以提交它。 4.1 Beta 确实修复了许多此类问题,但遗憾的是,它仍然无法像在 3.1.3 上那样工作。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-03-19
      相关资源
      最近更新 更多