全部产品
云市场

收发普通消息

更新时间:2019-02-27 10:57:03

发送普通消息

您可以运行以下代码进行消息发送。 请按说明正确设置相关参数。

  1. using System;
  2. using ons;
  3. public class ProducerExampleForEx
  4. {
  5. public ProducerExampleForEx()
  6. {
  7. }
  8. static void Main(string[] args) {
  9. // 配置账号, 从控制台获取设置
  10. ONSFactoryProperty factoryInfo = new ONSFactoryProperty();
  11. // AccessKey 阿里云身份验证,在阿里云服务器管理控制台创建
  12. factoryInfo.setFactoryProperty(ONSFactoryProperty.AccessKey, "Your access key");
  13. // SecretKey 阿里云身份验证,在阿里云服务器管理控制台创建
  14. factoryInfo.setFactoryProperty(ONSFactoryProperty.SecretKey, "Your access secret");
  15. // 您在控制台创建的 Group ID
  16. factoryInfo.setFactoryProperty(ONSFactoryProperty.ProducerId, "GID_example");
  17. // 您在控制台创建的 Topic
  18. factoryInfo.setFactoryProperty(ONSFactoryProperty.PublishTopics, "T_example_topic_name");
  19. // 设置 TCP 接入域名,进入控制台的实例管理页面的“获取接入点信息”区域查看
  20. factoryInfo.setFactoryProperty(ONSFactoryProperty.NAMESRV_ADDR, "NameSrv_Addr");
  21. // 设置日志路径
  22. factoryInfo.setFactoryProperty(ONSFactoryProperty.LogPath, "C://log");
  23. // 创建生产者实例
  24. // 说明:生产者实例是线程安全的,可用于发送不同 Topic 的消息。基本上,您每一个线程
  25. // 只需要一个生产者实例
  26. Producer producer = ONSFactory.getInstance().createProducer(factoryInfo);
  27. // 启动客户端实例
  28. producer.start();
  29. // 创建消息对象
  30. Message msg = new Message(factoryInfo.getPublishTopics(), "tagA", "Example message body");
  31. msg.setKey(Guid.NewGuid().ToString());
  32. for (int i = 0; i < 32; i++) {
  33. try
  34. {
  35. SendResultONS sendResult = producer.send(msg);
  36. Console.WriteLine("send success {0}", sendResult.getMessageId());
  37. }
  38. catch (Exception ex)
  39. {
  40. Console.WriteLine("send failure{0}", ex.ToString());
  41. }
  42. }
  43. // 在您的线程即将退出时,关闭生产者实例
  44. producer.shutdown();
  45. }
  46. }

订阅普通消息

关于订阅普通消息的说明和示例代码,详见订阅消息