mqtt test 코드 수정
This commit is contained in:
@@ -15,13 +15,15 @@ namespace Studio.Connection
|
||||
string domain;
|
||||
int port;
|
||||
List<string> topics;
|
||||
Action<string, string> callback;
|
||||
public TemporaryMQTTClient(string domain, int port, List<string> topic, Action<string, string> callback)
|
||||
Action<string, string> topicCallback;
|
||||
Action disconnectCallback;
|
||||
public TemporaryMQTTClient(string domain, int port, List<string> topic, Action<string, string> topicCallback, Action disconnectCallback)
|
||||
{
|
||||
this.domain = domain;
|
||||
this.port = port;
|
||||
this.topics = topic;
|
||||
this.callback = callback;
|
||||
this.topicCallback = topicCallback;
|
||||
this.disconnectCallback = disconnectCallback;
|
||||
var optionBuilder = new ConnectionOptionsBuilder()
|
||||
.WithTCP(domain, port)
|
||||
.Build();
|
||||
@@ -44,7 +46,7 @@ namespace Studio.Connection
|
||||
{
|
||||
string payload = Encoding.UTF8.GetString(message.Payload.Data, message.Payload.Offset, message.Payload.Count);
|
||||
Debug.Log($"Temporary MQTT is OnTopic. {ToString()}, msg={payload}");
|
||||
callback(topicName, payload);
|
||||
topicCallback(topicName, payload);
|
||||
|
||||
this.topics.Remove(topicName);
|
||||
client.CreateUnsubscribePacketBuilder(topicName)
|
||||
@@ -66,12 +68,14 @@ namespace Studio.Connection
|
||||
|
||||
private void OnErrorMQTT(MQTTClient client, string error)
|
||||
{
|
||||
disconnectCallback();
|
||||
Debug.Log($"Temporary MQTT Client Error. {ToString()}, error={error}");
|
||||
//Disconnect();
|
||||
}
|
||||
|
||||
private void OnDisconnectedMQTT(MQTTClient client, DisconnectReasonCodes reasonCode, string reasonMessage)
|
||||
{
|
||||
disconnectCallback();
|
||||
Debug.Log($"Temporary MQTT Client Disconnected. {ToString()}, reason={reasonCode}, msg={reasonMessage}");
|
||||
}
|
||||
|
||||
|
||||
@@ -21,6 +21,8 @@ namespace Studio.UI
|
||||
private Button Button_Remove;
|
||||
private RectTransform TopicItemContent;
|
||||
private RectTransform AddTopic;
|
||||
private Image Image_Check;
|
||||
private Sprite connectedSprite, errorSprite;
|
||||
|
||||
private UI_InputTopicItem prf_InputTopicItem;
|
||||
private List<UI_InputTopicItem> inputTopicItems = new List<UI_InputTopicItem>();
|
||||
@@ -63,7 +65,7 @@ namespace Studio.UI
|
||||
var topic = item.InputField_Topic.text;
|
||||
topics.Add(topic);
|
||||
}
|
||||
var tmpClient = new TemporaryMQTTClient(domain, port, topics, OnTopicTest);
|
||||
var tmpClient = new TemporaryMQTTClient(domain, port, topics, OnTopicTest, OnDisconnectClient);
|
||||
panel_MQTTTestResult.Open(domain, port.ToString());
|
||||
}
|
||||
|
||||
@@ -77,8 +79,12 @@ namespace Studio.UI
|
||||
payload = payload
|
||||
};
|
||||
panel_MQTTTestResult.AddResult(result);
|
||||
Image_Check.sprite = connectedSprite;
|
||||
}
|
||||
void OnDisconnectClient()
|
||||
{
|
||||
Image_Check.sprite = errorSprite;
|
||||
}
|
||||
|
||||
private void OnClickRemoveItemButton()
|
||||
{
|
||||
onRemoveMQTTConnectionItem?.Invoke(this);
|
||||
|
||||
Reference in New Issue
Block a user