मैं XMPPFramework का उपयोग करके एक एमयूसी बनाने में सक्षम हूं और नीचे दिए गए कोड का उपयोग करके उस कमरे में शामिल होने के लिए उपयोगकर्ता निमंत्रण अनुरोध भेज सकता हूं।चैटरूम आमंत्रण को स्वीकार करना
// Creating
AppDelegate *dele =(AppDelegate *) [[UIApplication sharedApplication]delegate];
xmppRoom = [[XMPPRoom alloc] initWithRoomStorage:dele jid:[XMPPJID jidWithString:self.roomName] dispatchQueue:dispatch_get_main_queue()];
[xmppRoom addDelegate:dele delegateQueue:dispatch_get_main_queue()];
[xmppRoom activate:dele.xmppStream];
[xmppRoom joinRoomUsingNickname:self.myNick history:nil];
// Inviting
[xmppRoom inviteUser:[XMPPJID jidWithString:@"[email protected]"] withMessage:@"Come Join me"];
उपयोगकर्ता "एबीसी" कैसे जानता है कि उसे निमंत्रण मिला है और वह इसे स्वीकार या अस्वीकार कर कैसे प्रतिक्रिया दे सकता है?
मुझे XMPPFramework में कोई भी वर्ग नहीं मिला जो सीधे चैट रूम आमंत्रण से निपटता है। मेरे शोध का कहना है कि जब भी कोई उपयोगकर्ता एक चैटरूम आमंत्रण प्राप्त करता है, xmmppStream के प्रतिनिधि विधि कहा जाता है:
- (void)xmppStream:(XMPPStream *)sender didReceiveMessage:(XMPPMessage *)message
कि संदेश में, मैं जाँच यह नाम के साथ NSXMLElement शामिल है कि क्या "आमंत्रित करें", और अगर यह तो होता है मैं भेज उपयोगकर्ता को एक कॉलबैक। फिर मैं उसी नाम के साथ चैट रूम बनाउंगा जो चैट रूम के नाम से है जिसके द्वारा उपयोगकर्ता को निमंत्रण प्राप्त हुआ और उस नए बनाए गए कमरे में प्रवेश करें। यह ठीक काम करता है लेकिन शांत लंबा और शांत नहीं है। मैं जानना चाहता हूं कि XMPPFramework में कोई वर्ग here उपलब्ध है जो चैट रूम आमंत्रण को अलग से संभाल सकता है। उदाहरण के लिए, कमरे के निमंत्रण का पता लगाना, स्वीकार करना और घटाना।
रूम का नाम निकालने के लिए मेरे कोड:
- (void)xmppStream:(XMPPStream *)sender didReceiveMessage:(XMPPMessage *)message
{
NSXMLElement * x = [message elementForName:@"x" xmlns:XMPPMUCUserNamespace];
NSXMLElement * invite = [x elementForName:@"invite"];
NSXMLElement * decline = [x elementForName:@"decline"];
NSXMLElement * directInvite = [message elementForName:@"x" xmlns:@"jabber:x:conference"];
NSString *msg = [[message elementForName:@"body"]stringValue];
NSString *from = [[[message attributeForName:@"from"]stringValue];
if (invite || directInvite)
{
[self createAndEnterRoom:from Message:msg];
return;
}
[self.delegate newMessageRecieved:msg];
}
हाय विशाल अंदर, मैं वही समस्या में फंस कर रहा हूँ, तुम मुझे जानते है कि आप किसी भी समाधान या दृष्टिकोण पाया तो कृपया कर सकते हैं इसके साथ ? धन्यवाद – Mangesh