Cloud AMPQ与iOS APP集成

时间:2017-08-28 09:51:50

标签: ios swift rabbitmq

我正在努力将云AMPQ集成到我的iOS应用中。使用RabbitMQ客户端,无法与服务器成功通信。

我已检查下面的堆栈溢出链接以与服务器进行通信: stack overflow link

上面链接中共享的示例源已损坏。请建议我可能的解决方案。提前致谢

1 个答案:

答案 0 :(得分:1)

您应该使用官方客户端库:https://github.com/rabbitmq/rabbitmq-objc-client(Swift + ObjC兼容)

基本用法(从回购中提取):

  1. 实例化RMQConnection:

    let delegate = RMQConnectionDelegateLogger() // implement RMQConnectionDelegate yourself to react to errors
    let conn = RMQConnection(uri: "amqp://guest:guest@localhost:5672", delegate: delegate)
    
  2. 连接:

    conn.start()
    
  3. 创建频道:

    let ch = conn.createChannel()
    
  4. 使用频道:

    let q = ch.queue("myqueue")
    q.subscribe({ m in
        print("Received: \(String(data: m.body, encoding: String.Encoding.utf8))")
    })
    q.publish("foo".data(using: String.Encoding.utf8))
    
  5. 完成后关闭连接:

    conn.close()
    
  6. 根据提供商的不同,您需要手动构建连接URI。例如Heroku已经将它呈现在它的仪表板中。以下是支持参数的文档:https://www.rabbitmq.com/uri-spec.htmlhttps://www.rabbitmq.com/uri-query-parameters.html

    Heroku上的示例URI:

    amqp://xxxxxxx:yyy-zzz@aaaaaa.bigwig.lshift.net:10674/bbbbbbb
    

    格式:

    amqp_URI = "amqp://" [ username [ ":" password ] "@" ] host [ ":" port ] [ "/" vhost ] [ "?" query ]