내 응용 프로그램과 XMPP (Openfire) 서버 간의 통신을 위해 Strophe.js 라이브러리를 사용하고 있습니다.xmpp 서버에서 새 그룹을 만드는 방법
그룹에 사용자를 추가하고 싶습니다. 새 그룹을 만들려면 어떻게해야합니까? 버디 쿼리를 추가하여 그룹 이름을 어떻게 언급 할 수 있습니까?
이 내가 하루 동안 XMPP 확장을 참조하지만 난 당신은 로스터 업데이트를 보낼 필요가 적절한 결과
내 응용 프로그램과 XMPP (Openfire) 서버 간의 통신을 위해 Strophe.js 라이브러리를 사용하고 있습니다.xmpp 서버에서 새 그룹을 만드는 방법
그룹에 사용자를 추가하고 싶습니다. 새 그룹을 만들려면 어떻게해야합니까? 버디 쿼리를 추가하여 그룹 이름을 어떻게 언급 할 수 있습니까?
이 내가 하루 동안 XMPP 확장을 참조하지만 난 당신은 로스터 업데이트를 보낼 필요가 적절한 결과
를 찾을 수 없습니다
var str1=$pres({'xmlns':'jabber:client','from':[email protected],'to':[email protected],'type':'subscribe'}).c('nick',{'xmlns':'http://jabber.org/protocol/nick'}).t(userName);
connection.send(str1.tree());
새로운 사용자
를 추가하는 내 코드입니다. 자세한 내용은 Read RFC 6121, Section 2을 참조하십시오. 이 프로토콜을 보낼 수 있습니다 :<iq from='[email protected]/balcony'
id='rs1'
type='set'>
<query xmlns='jabber:iq:roster'>
<item jid='[email protected]' name='nick'>
<group>My Group</group>
</item>
</query>
</iq>
같은 코드 뭔가 :
$iq({'type':'set'}).c('query',{'xmlns':Strophe.NS.ROSTER})
.c('item', {'jid':'[email protected]','name':'nick'})
.c('group').t('My Group')
내가 코드 아래 사용이 만들었습니다.
XMPPRoomCoreDataStorage * rosterstorage = [[XMPPRoomCoreDataStorage alloc] init]; XMPPRoom * xmppRoom = [[XMPPRoom 할당] initWithRoomStorage : rosterstorage jid : [XMPPJID jidWithString : @ "[email protected]"] dispatchQueue : dispatch_get_main_queue()];
[xmppRoom activate:[[self appDelegate]xmppStream]];
[xmppRoom joinRoomUsingNickname:@"DeveloperQ" history:nil];
[[[self appDelegate] xmppStream] addDelegate:self delegateQueue:dispatch_get_main_queue()];
[xmppRoom addDelegate:self delegateQueue:dispatch_get_main_queue()];
이어서
{
NSXMLElement *의 IQ = NSXMLElement elementWithName "지능"@]; 내가 특정 그룹에 사용자를 추가 기운이 경우
[iq addAttributeWithName:@"id" stringValue:[NSString stringWithFormat:@"inroom-cr%@",groupName]];
[iq addAttributeWithName:@"to" stringValue::@"[email protected]"];
[iq addAttributeWithName:@"type" stringValue:@"set"];
NSXMLElement *query = [NSXMLElement elementWithName:@"query" xmlns:XMPPMUCOwnerNamespaceName];
NSXMLElement *xelem = [NSXMLElement elementWithName:@"x" xmlns:@"jabber:x:data"];
[xelem addAttributeWithName:@"type" stringValue:@"submit"];
[query addChild:xelem];
[iq addChild:query];
[[[self appDelegate] xmppStream] sendElement:iq];
}
하이 조. 먼저 내가 만, 확장이 –
을 제공 할 것입니다 어떤 그런 일이로 가능합니다. 없다 새로운 그룹을 생성합니다 기본 XMPP의 빈 그룹 PEP (XEP-0163 : http://xmpp.org/extensions/xep-0163.html)를 사용하거나 비공개 저장소 (XEP-0049 : http : //)를 사용하여 빈 그룹 목록을 개별적으로 저장할 수 있습니다. xmpp.org/extensions/xep-0049.html). 그 중 하나에 대해서는 사용자가 제어하는 새 네임 스페이스를 사용하지만 다른 클라이언트가 빈 그룹을 볼 수있을 것으로 기대하지는 마십시오. 이 문제에 대해 강하게 생각하는 경우 새 XEP를 작성하고 XSF에 제출하십시오. http://xmpp.org/xmpp-protocols/xmpp-extensions/submitting-a-xep/ –