मेरे मल्टीप्लेयर गेम में मेरे पास 2 विरोधी हैं। जब किसी के पास नेटवर्क समस्या/डिस्कनेक्शन होता है तो 1 सहकर्मी को कैसे सूचित किया जा सकता है? मैं उम्मीद कर रहा था कि या तो onPeerLeft
या onPeersDisconnected
जहां निकाल दिया गया, लेकिन कुछ भी नहीं!Google Play सेवाएं: सहकर्मी नेटवर्क डिस्कनेक्शन को कैसे संभालें?
असल में मैं पिंग तंत्र के कुछ प्रकार लागू करने के लिए इतना है कि अगर एक सहकर्मी एक निर्दिष्ट समय के भीतर पिंग संदेश प्राप्त नहीं होता है मैं कुछ उपयोगकर्ता के लिए फेंक कर सकते हैं जा रहा हूँ (एक संवाद है कि प्रतिद्वंद्वी डिस्कनेक्ट को निर्दिष्ट।)
वैकल्पिक रूप से, क्या इस तरह की समस्या लागू होने पर सुनने के लिए कॉलबैक है?
कट सहकर्मी मैं अगर सहकर्मी डेटा नहीं भेज सकते हैं पता लगाने के लिए 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
के रूप में उठाया जाता है)
कोई सुझाव? अग्रिम में धन्यवाद!
ठीक है, आखिरकार मैंने 'ऑनरूम कनेक्ट' कॉलबैक में हर 5 सेकंड में 'टिमर्टस्क' को 'टाइमर' शेड्यूल करने के साथ एक पिंग-पोंग तंत्र का चयन किया। फिर मैं नया संदेश भेजने से पहले आखिरी प्राप्त पिंग समय की जांच करता हूं, यदि समय बीतने के बाद समय समाप्त हो गया है, तो मैं उचित त्रुटि संदेश फेंकने में सक्षम हूं। किसी भी अन्य सुझाव का स्वागत है! –