XMPP с 1 по 1 чат-запрос? - PullRequest
       12

XMPP с 1 по 1 чат-запрос?

0 голосов
/ 16 августа 2011

Я разрабатываю проект чата с использованием Openfire.

Я закончил с групповым чатом.

Но путаница заключается в чате 1: 1.

Я использую:

<message from='user2@server/user2' to='user1@server/user1' type='chat'>

<body>TEST< /body>

</message>

, но не отправляет.

Заранее спасибо.

Ответы [ 3 ]

1 голос
/ 18 июля 2012
- (AppDelegate *)appDelegate
{
    return (AppDelegate *)[[UIApplication sharedApplication] delegate];
}
- (XMPPStream *)xmppStream
{
    return [[self appDelegate] xmppStream];
}

 - (void)sendMessage:(id)sender
{   

    NSString *messageStr =messageField.text;
    if([messageStr length] > 0)
    {

         NSXMLElement *body = [NSXMLElement elementWithName:@"body"];
        [body setStringValue:messageStr];
         NSXMLElement *message = [NSXMLElement elementWithName:@"message"];
        [message addAttributeWithName:@"type" stringValue:@"chat"];
        [message addAttributeWithName:@"to" stringValue:@"destination email address"];
        [message addChild:body];
         NSLog(@"%@",message);

        [[self xmppStream] sendElement:message];
    }
}

при нажатии на кнопку отправки будет вызван этот метод, и сообщение журнала будет отображаться как

<message type="chat" to="destination email address"><body>messageStr</body></message>
1 голос
/ 16 августа 2011

Если допустить, что пробелов после символов < не должно быть, все выглядит правильно.

Вы даже можете обойтись без атрибута from, так как он будет добавлен сервером.

0 голосов
/ 18 августа 2011

После устранения проблем с синтаксисом, удаления адреса from и удаления сомнительно правильного ресурса из адреса to у вас останется:

<message to='user1@server' type='chat'>
  <body>TEST</body>
</message>

Ресурс на to адрес как вопрос.Прочитайте XEP-0296 , чтобы узнать, как правильно обращаться с ресурсами при выполнении XMPP IM.

...