2
我正在使用XMPP框架研究聊天概念。我成功地能夠與服務器建立連接。現在我的下一步是進入給定的房間。如何進入聊天室+ xmpp?
NSXMLElement *presence = [NSXMLElement elementWithName:@"presence"];
NSString *room = [@"myroom" stringByAppendingString:@"@app.xmpp.syn.in"];
[presence addAttributeWithName:@"to" stringValue:room];
NSXMLElement *x = [NSXMLElement elementWithName:@"x" xmlns:@"http://jabber.org/protocol/muc"];
NSXMLElement *history = [NSXMLElement elementWithName:@"history"];
[history addAttributeWithName:@"maxstanzas" stringValue:@"50"];
[x addChild:history];
[presence addChild:x];
XMPPIQ *iq = [XMPPIQ iq];
[iq addChild:presence];
[xmppStream sendElement:presence];
我已經嘗試使用上面的代碼,但它不起作用。它不去下面的方法。
- (void)sendElement:(NSXMLElement *)element
{
if (element == nil) return;
dispatch_block_t block = ^{ @autoreleasepool {
if (state == STATE_XMPP_CONNECTED)
{
[self sendElement:element withTag:TAG_XMPP_WRITE_STREAM];
}
else
{
NSError *error = [NSError errorWithDomain:XMPPStreamErrorDomain
code:XMPPStreamInvalidState userInfo:nil];
[self failToSendElement:element error:error];
}
}};
if (dispatch_get_specific(xmppQueueTag))
block();
else
dispatch_async(xmppQueue, block);
}
我正在實施這個第一次。可能是我錯誤地進入MUC房間。請糾正或建議我解決此問題。
@iPatel我剛進入房間它在服務器端的靜態聊天室 –
確定..我只是把上面的鏈接,我從谷歌,否則我發現沒有任何與XMPP框架的經驗.. :)開心編碼:) – iPatel
@Sudha這可能會幫助你。 http://stackoverflow.com/questions/19268629/xmpp-ios-chat-client-implement-group-chat – DipakSonara