示例#1
0
 /// <summary>
 /// 发布数据
 /// </summary>
 /// <param name="topic">主题</param>
 /// <param name="info">信息</param>
 /// <param name="isAsyn">是否异步发送</param>
 public void Publish(string topic, object info, bool isAsyn = false)
 {
     if (isAsyn)
     {
         TopicList.PublishAsyn(topic, info);
     }
     else
     {
         TopicList.Publish(topic, info);
     }
 }
示例#2
0
 /// <summary>
 /// 移除主题订阅
 /// </summary>
 /// <param name="topic"></param>
 public void RemoveTopic(string topic)
 {
     lock (lock_obj)
     {
         Observer observer = null;
         if (dicTopic.TryGetValue(topic, out observer))
         {
             dicTopic.Remove(topic);
             TopicList.RemoveSubscribe(topic, observer.Receive);
         }
     }
 }
示例#3
0
 /// <summary>
 /// 订阅主题
 /// </summary>
 /// <param name="topic"></param>
 public void Subscrib(string topic)
 {
     //所有订阅必须方法同步
     lock (lock_obj)
     {
         if (!dicTopic.ContainsKey(topic))
         {
             Observer observer = new Observer(topic);//订阅该主题
             TopicList.Subscribe(topic, observer.Receive);
             dicTopic[topic]         = observer;
             observer.notifyHandler += Receive;
         }
     }
 }