2011-12-15 38 views
2

我有以下GKSession的問題: 有時,在客戶端/服務器應用程序中發送數據時有3-4秒(有時高達10秒)的延遲。Gamekit延遲

如果服務器在延遲期間發送10個數據包,那麼這10個數據包將一次全部在客戶端上接收。奇怪的是,服務器在延遲期間仍然從客戶端接收數據包。

這種延遲在WiFi網絡中似乎更糟,但也發生在藍牙網絡中。

使用gamekit時,有沒有其他人遇到這樣的延遲尖峯? 什麼可能是這個問題的根源?

回答

3

我一直在用gamekit和gksession工作很多。儘管有些人不鼓勵它,但我總是使用Peer2Peer模式。我從來沒有像你所描述的那種延遲。

您是否使用GKSendDataReliable或GKSendDataUnreliable發送?嘗試切換到另一個,看看它是否改變任何東西。如果您使用的是GKSendDataReliable,那麼發送設備將在發送下一條消息之前等待來自接收方的「已收到」消息。這可能是問題所在。

在您的測試設備上:運行的任何東西可能會氾濫網絡?

我正在測試一款基於多人遊戲套件的遊戲,如果我有幾個活動設備,那麼突然有些設備會完全停頓,我需要重新啓動(完全關閉並重新啓動),以使它們再次工作。

如果你不斷收到麻煩了,你可能會想嘗試一個更底層API:DNS-SD https://developer.apple.com/library/mac/#documentation/Networking/Conceptual/dns_discovery_api/Introduction.html

我希望你能正常工作,祝你好運!

+0

是否有顯示延遲的方法? – zeiteisen 2012-05-08 15:55:44