मेरे पास एक विशिष्ट जब सर्वर यह सामान्य ज्ञान और अगर दूरदराज के सहकर्मी से संबंध सफल होता है, तो प्रतिनिधि मुझे पता है यह नहीं कहता कि राज्य परिवर्तन कॉलबैक नहीं को कनेक्शन विफलता के मामले में बुलाया जाएगा, लेकिन क्लाइंट के दृष्टिकोण से शुद्ध परिणाम यह है कि एक असफल कनेक्शन एक के परिणामस्वरूप दिखाई देता है सफल कनेक्शन। स्ट्रॉइंग पर क्लचिंग मैंने ग्राहक काम कर सकता है इसके आसपास अगले तो क्लाइंट सत्र क्यों नहीं समझ सकता कि यह खत्म हो गया है? मैंने अपने आप को एक ही प्रकार का अनुप्रयोग डिज़ाइन किया है ( GKSessionModeServer / G2Cession ModeClient )। जब आप किसी सहकर्मी के संबंध से इनकार करते हैं, तो यह GKSessionModeServer / GKSessionModeClient सेटअप है।
denyConnectionFromPeer: , ग्राहक के
सत्र: connectionWithPeerFailed: विधि के साथ एक ग्राहक कनेक्शन प्रयास से इनकार करते हैं, लेकिन फिर इसे एक
GKPeerStateConnected राज्य में परिवर्तन के साथ मेरे सर्वर के पीअरआईडी दूसरे शब्दों में, ग्राहक सोचता है कि कनेक्शन सफल नहीं होता, जबकि सर्वर नहीं करता है।
connectToPeer: withTimeout: के दस्तावेजों के साथ बाधाओं पर प्रतीत होता है, जो कहता है < / P>
सत्र: पीअर: didChangeState: विधि को प्रत्येक सहकर्मी के लिए बुलाया जाता है जो इसे सफलतापूर्वक से जुड़ा हुआ है। यदि कनेक्शन विफल हो जाता है या आपका अनुप्रयोग कनेक्शन का प्रयास रद्द करता है, तो सत्र कॉल करने वाला प्रतिनिधि है
सत्र: connectionWithPeerFailed: withError: विधि।
cancelConnectToPeer से
connectionWithPeerFailed कॉलबैक, बिना परिणाम के कॉल करने की कोशिश की।
GKPeerStateConnected की अनदेखी करके, लेकिन यह क्लुडेजी है और फिर से कनेक्ट होने पर सर्वर को कनेक्शन फिर से स्वीकार करना शुरू करने पर जटिलताएं जुड़ी हुई हैं।
सत्र को ट्रिगर करेगा: सहकर्मी: किया गया स्थान: प्रतिनिधि को GKPeerConnectionState तर्क के साथ
GKPeerStateDisconnected पर सेट किया गया है। आपको अपने कोड में इसे ठीक से व्यवस्थित करने की ज़रूरत है - मुझे उस भाग के साथ कभी भी कोई समस्या नहीं हुई है।
Comments
Post a Comment