5

我正在BlueTooth为. 出于连接目的,我正在使用. 但是由于一些特殊要求的应用程序我不能使用默认的. 所以我改为创建一个和组合来检测对等点。找到对方后,就可以聊天了。WifiiPhoneGameKitGKPeerPickerControllerGKSessionGKSessionDelegate

现在我已经在三个mac-minis使用上测试了聊天功能simulator,一个模拟器和一个iPod,一个iPhone和一个Simulator。我可以在上述所有场景中聊天。但是有些如何iPhoneiPod不会检测到对方。

我也很好奇所有这些设备之间发生的连接类型。因为理论上GameKit支持两者,BlueToothWiFi。现在的问题是,让我们在和GKPeerPickerController之间进行具体选择(不幸的是,任何地方都没有记录 的实现。)这很好,但是当一个人实现他或她自己的和Combo 时,自定义场景呢?当使用唯一可用的方法创建对象时:BlueToothWiFiWiFiGKSessionGKSessionDelegateGKSessioninit

– initWithSessionID:displayName:sessionMode:

这提供的唯一配置选项是sessionMode,但它只有三个选项

   GKSessionModeServer,
   GKSessionModeClient,
   GKSessionModePeer,

Bluetooth其中没有一个表示和之间的连接选择WiFi

但是我已经禁用bluetoothiPod它并用它测试了它,mac-mini所以我猜这是使用WiFi. 同样在日志中,我得到以下行:

DNSServiceRegister callback: Ref=4c3f3d0, Flags=2, ErrorType=0 name=00XGT0H0A..BTChat1 regtype=_0eilkgh5o2mq17._udp. domain=local.

和部分让我觉得DNSServiceRegister沟通udp已经结束TCP/IP

那么这是否意味着当我开始时GKSession默认GKSessionDelegate的通信方法是仅 WiFi,或者它是否同时支持WiFi两者bluetooth(尽管我从来没有得到任何迹象表明BlueTooth正在发生连接)。

GameKit应该主要是关于BlueTooth对吧?任何人都可以说明到底发生了什么吗?

您还看到有人实现了 WiFi 接口的任何示例代码 GKPeerPickerController吗?


解决了:

好的 我自己找到的。GKSessionGKSessionDelegate我在问题中提到的自定义实现适用于bluetoothWiFi。实际上iPhone (JailBroked)我使用的有一些问题,BlueTooth可能是阻止Gamekit正常工作,在硬重置手机并关闭Airplane模式后,bluetooth关闭几次就可以bluetooth在手机上工作。WiFi现在该应用程序在和BlueTooth模式下都可以正常工作。

4

1 回答 1

1

你知道 GKPeerPicker 的行为是否类似吗?我的意思是如果选择 NEAR 模式允许您通过 wifi/蓝牙连接?

我怀疑 INTERNET 模式是用于使用 TCP/IP 连接到远程服务器。问候

于 2010-08-02T15:06:01.177 回答