구독자로서의 푸시 에이전트
기본적으로 푸시 에이전트는 클라우드로 데이터를 보낼 수 있습니다. 푸시 에이전트 코드를 편집하여 클라우드에서 데이터를 받을 수 있습니다.
데이터 수신 기능
다음 예제의 함수는 메시지가 수신될 때마다 호출됩니다. 함수는 함수에 정의된 논리에 따라 수신된 메시지를 처리한 다음
messageVariable
변수 값을 업데이트합니다.private Task SubscribeClientMqttMsgPublishReceived(MqttApplicationMessageReceivedEventArgs e) { var message = e.ApplicationMessage.ConvertPayloadToString(); var messageVariable = Project.Current.GetVariable("Model/Message"); messageVariable.Value = Newtonsoft.Json.Linq.JObject.Parse(message)["Rows"][0]["Variables"][0]["Value"].ToString(); return Task.CompletedTask; }
구독자의 구성 매개 변수
다음 예제는 구독자의 구성 매개 변수로 전달되는 데이터 수신 함수를 보여 줍니다. 게시자의 기본 구성 외에도 구독자 메서드가
Start()
메서드에 구성됩니다.public override void Start() { // PushAgent Default configuration // Add subscriber mqttClientConnector.AddSubscriberAsync("my_custom_subscriber_topic", 1, SubscribeClientMqttMsgPublishReceived); } public async void AddSubscriberAsync(string topic, int qosLevel, Func<MqttApplicationMessageReceivedEventArgs, Task> subscribeClientMqttMsgPublishReceived) { mqttClient.ApplicationMessageReceivedAsync += subscribeClientMqttMsgPublishReceived; await mqttClient.SubscribeAsync(topic, GetQoSLevel(qosLevel)).ConfigureAwait(false); }
의견을 작성 부탁드립니다.