我正在努力将云AMPQ集成到我的iOS应用中。使用RabbitMQ客户端,无法与服务器成功通信。
我已检查下面的堆栈溢出链接以与服务器进行通信: stack overflow link
上面链接中共享的示例源已损坏。请建议我可能的解决方案。提前致谢
答案 0 :(得分:1)
您应该使用官方客户端库:https://github.com/rabbitmq/rabbitmq-objc-client(Swift + ObjC兼容)
基本用法(从回购中提取):
实例化RMQConnection:
let delegate = RMQConnectionDelegateLogger() // implement RMQConnectionDelegate yourself to react to errors
let conn = RMQConnection(uri: "amqp://guest:guest@localhost:5672", delegate: delegate)
连接:
conn.start()
创建频道:
let ch = conn.createChannel()
使用频道:
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))
完成后关闭连接:
conn.close()
根据提供商的不同,您需要手动构建连接URI。例如Heroku已经将它呈现在它的仪表板中。以下是支持参数的文档:https://www.rabbitmq.com/uri-spec.html和https://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 ]