2010-06-10 50 views
2

我有很多使用GameKit通過wifi連接的設備。當對等端(客戶端)接收到數據時,我會彈出一個簡單的UIAlertView。數據發送時,除發送者(服務器)以外的所有人都顯示此警報視圖,所以我想知道這是我應用程序中的錯誤還是預期的行爲。如果進行發送的設備也是GKSessionModePeer,我希望它「發射」它的receiveData:消息,因爲我要發送到全部同行GKSession sendDataToAllPeers包括髮件人?

我應該在發件人設備上手動調用相同的方法嗎?例如,如果我想向4部電話發送一個「GameStart」數據包,那麼當它接收到該數據包時,對等方會撥打startGame:receiveData:fromPeer:inSession:context:方法,服務對象將自動撥打sendDataToAllPeers:並呼叫startGame:

這聽起來是否正確或有沒有辦法將發件人包含在sendDataToAllPeers:列表中,以便其響應與所有連接的對等方完全相同?

回答

2

我認爲sendee是指發件人,即。發送數據的人。 (Sendee =預定收件人,你的情況是每個人)。

這是預期的行爲。 「所有同伴」不包括髮件人,並且您目前不能將發件人包含在sendDataToAllPeers:列表中。在您將消息發送給對等方的同時,您在發送方設備上手動調用方法的計劃聽起來是最佳方式。

如果您希望在發件人完成某些操作之前確保數據沒有問題,您可以向對等方發回確認。

+0

但是,如果確認沒有到達呢? – openfrog 2012-11-20 22:02:14