5

私のマルチプレイヤー ゲームには 2 人の対戦相手がいます。1 つのピアにネットワークの問題や切断が発生したときに、もう 1 つのピアに通知するにはどうすればよいですか? onPeerLeft私はどちらかonPeersDisconnectedが発砲されることを期待していましたが、何もありませんでした!

実際には、ある種の ping メカニズムを実装して、1 つのピアが指定された時間内に ping メッセージを受信しない場合に、ユーザーに何かをスローできるようにします (対戦相手が切断されたことを示すダイアログ)。

別の方法として、この種の問題が発生したときにリッスンするコールバックはありますか?

切断されたピアでは、次のonRealTimeMessageSentようにコールバックを使用して、ピアがデータを送信できないかどうかを検出しています。

@Override
public void onRealTimeMessageSent(int statusCode, int token, String arg2) {
    //f the peer can't send data 
    if (statusCode == GamesClient.STATUS_REAL_TIME_MESSAGE_SEND_FAILED) {
        //here I show an error dialog and move out of game
    }
}

もう一方のピアでは、他のコールバックは発生しません ( や などonPeerLeft) onPeersDisconnected

なにか提案を?前もって感謝します!

4

2 に答える 2

0

builder.build() を呼び出す前に setRoomStatusUpdateListener(RoomStatusUpdateListener) を呼び出していないようです。

編集:ビルダーは RoomConfig.Builder です

于 2013-07-18T20:15:06.920 に答える