如何在目标c中使用xmpp向特定组发送消息

Posted

技术标签:

【中文标题】如何在目标c中使用xmpp向特定组发送消息【英文标题】:how to send a message to particular group using xmpp in objective c 【发布时间】:2017-05-31 06:52:10 【问题描述】:

我的项目中有 4 个组,而我正在发送我使用此代码的消息。我在我的项目中使用xmpp

但它没有向群组发送消息。

  NSString *messageString = self.messageField.text;
  if([messageString length] > 0)   
    [self.xmppManager.xmppRoom sendMessageWithBody:messageString];
  

  self.messageField.text = @"";

那么我如何使用xmpp向特定组发送消息

【问题讨论】:

什么是xmppManager xmppManager 是群聊代表 【参考方案1】:

例如,您可以使用 groupJID(例如 groupName@domainName )向这种方式发送短信

**Swift 3.0**

   let completeMessage = DDXMLElement.element(withName: "message") as! DDXMLElement        

   completeMessage.addAttribute(withName: "id", stringValue: messageID!)
   completeMessage.addAttribute(withName: "type", stringValue: 
          "groupchat")

   completeMessage.addAttribute(withName: "to", stringValue: 
       recieverJID)

   let body = DDXMLElement.element(withName: "body") as! DDXMLElement

   body.stringValue = trimmedMessage
   completeMessage.addChild(body)
   sender.send(completeMessage)

**Objective C**

   NSXMLElement *message = [NSXMLElement elementWithName:@"message"];

   [message addAttributeWithName:@"id" stringValue: messageID];
   [message addAttributeWithName:@"type" stringValue:@"groupchat"];
   [message addAttributeWithName:@"to" stringValue:recieverJID];

   NSXMLElement *body = [NSXMLElement elementWithName:@"body"];
   [body setStringValue:messageStr];

   [message addChild:body];
   [sender sendElement:message];

【讨论】:

我正在努力实现目标 c。感谢您的指导。 @saiprasadThagalapalli 您现在可以查看。【参考方案2】:
NSString *messageString = self.messageField.text;
  if([messageString length] > 0)   
    [self.xmppManager.xmppRoom sendMessageWithBody:messageString];
  

  self.messageField.text = @"";

【讨论】:

这个答案是正确的,但是为不同的组创建不同的房间

以上是关于如何在目标c中使用xmpp向特定组发送消息的主要内容,如果未能解决你的问题,请参考以下文章

消息未通过 XMPP 发送

如何在 iphone 中使用 Xmpp 将消息发送到特定的电子邮件 ID

在初始广播消息后向特定 Smack 域发送消息

向所有连接的客户端/资源发送 xmpp 消息

向组件发送消息?

skpy 向用户提及的组发送消息