2010-01-07 12 views
2

使用本網站很長時間才能找到答案,現在需要自問! :)GKPeerState是否適用於不存在的同伴?

我已經實現了多機使用GKSession和客戶端/服務器的方法我的遊戲,而不是使用對選擇器(最多4個玩家允許)。

我有一個很大的問題,我無法找到解決辦法。

如果斷開/重新連接服務器對等的速度不夠快,客戶端對等會「記住」該主機和將顯示它在永久所有可用的同齡人的名單中,只有打開WIFI /藍牙關閉重置此。

所以,如果我連續做5次,我的客戶端將顯示具有相同名稱的5名可用的主機!

任何人都有過這方面的經驗?任何想法的解決方法?

我要指出,我的遊戲要求是iPhone SDK 3.0和藍牙3.1無線上網作爲GKSession現在支持。

回答

1

我有類似的問題。事實上,我的比賽獲得了同齡人的名單,他們甚至還沒有參加比賽。更重要的是,沒有充當服務器的同行被列出。我想知道是否有一些幕後高速緩存正在進行。

我在考慮實施某種計時器的視覺反饋顯示斷開的進展,最好避免這種情況。一般來說,連接/可用和斷開連接/不可用有一些時間延遲。編寫界面來考慮這些時間延遲可能會更好,但我不確定如何。

+1

一個解決方案不是使用服務器/客戶端模式,而是使用仍可作爲服務器/客戶端的對等模式。在這種情況下,不存在對等問題的緩存。 我修正它的方式,當我加載可用的服務器列表時,如果再次出現同名,我將替換列表中的現有名稱。我發現同一個同伴的姓氏總是「正確的」。 當然,如果主機不可用,它仍不能解決問題,但仍然可用。除非您使用對等模式,否則恐怕沒有解決方法。 – Ernest 2010-02-28 22:53:42

相關問題