मैं GKSession का उपयोग करके दो डिवाइस कनेक्ट करना चाहता हूं, एक सर्वर के रूप में शुरू करना और दूसरा क्लाइंट के रूप में। इस कॉन्फ़िगरेशन का उपयोग करके मैं GKPeerPickerController का उपयोग नहीं कर सकता।GameKit: GKSession मैनुअल
मैं दो उपकरणों को जोड़ने के लिए समस्याएं आ रही हैं:
- केवल ब्लूटूथ का उपयोग करना: असंभव
- वाईफाई का उपयोग करते हुए: कम से कम वहाँ उपकरणों के बीच कुछ डेटा विनिमय लेकिन कोई सफलतापूर्वक टूटने के हैं।
इंटरफ़ेस फ़ाइल में मैं
GKSessionDelegate
GKSession *session;
कार्यान्वयन में है, मैं इस कोड का उपयोग सर्वर प्रारंभ:
session = [[GKSession alloc] initWithSessionID:@"iFood" displayName:nil sessionMode:GKSessionModeClient];
session.delegate = self;
session.available = YES;
ग्राहक इस कोड का उपयोग शुरू होता है:
session = [[GKSession alloc] initWithSessionID:@"iFood" displayName:nil sessionMode:GKSessionModeServer];
session.delegate = self;
session.available = YES;
मैं टी के बजाय ब्लूटूथ के उपयोग को कैसे मजबूर कर सकता हूं वह वाईफाई?
इसके अलावा, मैं लागू कर दिया है उन कॉल:
-(void)session:(GKSession *)session didReceiveConnectionRequestFromPeer:(NSString *)peerID {
NSLog(@"Someone is trying to connect");
}
- (BOOL)acceptConnectionFromPeer:(NSString *)peerID error:(NSError **)error {
NSLog(@"acceptConnectionFromPeer");
}
जब मैं शुरू, मैं इस डीबगर में मिलती है:
Listening on port 50775
2010-02-19 14:55:02.547 iFood[3009:5103] handleEvents started (2)
और जब अन्य उपकरण लगाने के लिए शुरू होता है, मैं इस मिल:
~ DNSServiceBrowse callback: Ref=187f70, Flags=2, IFIndex=2 (name=[en0]), ErrorType=0 name=00eGs1R1A..Only by Audi regtype=_2c3mugr67ej6j7._udp. domain=local.
~ DNSServiceQueryRecord callback: Ref=17bd40, Flags=2, IFIndex=2 (name=[en0]), ErrorType=0 fullname=00eGs1R1A\.\.Only\032by\032Audi._2c3mugr67ej6j7._udp.local. rrtype=16 rrclass=1 rdlen=18 ttl=4500
** peer 1527211048: oldbusy=0, newbusy=0
~ DNSServiceBrowse callback: Ref=187f70, Flags=2, IFIndex=-3 (name=[]), ErrorType=0 name=00eGs1R1A..Only by Audi regtype=_2c3mugr67ej6j7._udp. domain=local.
GKPeer[186960] 1527211048 service count old=1 new=2
~ DNSServiceQueryRecord callback: Ref=17bd40, Flags=2, IFIndex=-3 (name=[]), ErrorType=0 fullname=00egs1r1a\.\.only\032by\032audi._2c3mugr67ej6j7._udp.local. rrtype=16 rrclass=1 rdlen=18 ttl=7200
** peer 1527211048: oldbusy=0, newbusy=0
~ DNSServiceBrowse callback: Ref=187f70, Flags=2, IFIndex=-3 (name=[]), ErrorType=0 name=00TF5kc1A..Only by Audi regtype=_2c3mugr67ej6j7._udp. domain=local.
~ DNSServiceQueryRecord callback: Ref=188320, Flags=2, IFIndex=-3 (name=[]), ErrorType=0 fullname=00tf5kc1a\.\.only\032by\032audi._2c3mugr67ej6j7._udp.local. rrtype=16 rrclass=1 rdlen=18 ttl=7200
** peer 1723356125: oldbusy=0, newbusy=0
~ DNSServiceQueryRecord callback: Ref=188320, Flags=2, IFIndex=2 (name=[en0]), ErrorType=0 fullname=00TF5kc1A\.\.Only\032by\032Audi._2c3mugr67ej6j7._udp.local. rrtype=16 rrclass=1 rdlen=18 ttl=4500
** peer 1723356125: oldbusy=0, newbusy=0
मैं यहां क्या खो रहा हूं?
मुझे यकीन है कि दोनों डिवाइसों में ब्लूटूथ सक्षम है और एक ही वाईफाई में जुड़ा हुआ है।
धन्यवाद,
आर।
एफवाईआई, आपका GKSessionModeClient और GKSessionModeServer बदल दिया गया है। – Jeff