私のマルチプレイヤー ゲームには 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
。
なにか提案を?前もって感謝します!