Files
16-Xikai-MesProjectNew/Common/09MesDataFunction/MesDataFunction/12SendMessageToWeb/MIS.SendMessage.cs
2026-05-29 09:34:04 +08:00

101 lines
3.0 KiB
C#

using System;
using System.Data;
using System.Collections;
//using BasicData;
////using bizFacade;
//using SystemFramework;
using System.Configuration;
//using MesWork;
using MQTTnet.Client.Connecting;
using MQTTnet.Client.Disconnecting;
using MQTTnet.Client.Receiving;
using MQTTnet;
using System.Threading.Tasks;
namespace MesServerFunctions
{
public partial class MIS_SendMessage
{
/// <summary>
///
/// </summary>
public static string MqttTargetTopic = ConfigurationManager.AppSettings["MqttTargetTopic"];
/// <summary>
///
/// </summary>
static new MesWebFun_base.MisWebInterface misWebInterface = new MesWebFun_base.MisWebInterface();
/// <summary>
///
/// </summary>
static readonly Object locker = new Object();
/// <summary>
/// 发消息给通讯服务器
/// </summary>
/// <param name="Message"></param>
public static string asyncSendMessage(string Message)
{
lock (locker)
{
//"MES|MachinePlan|OpName|Value
var array = Message.Split('|');
var cmd = array[1];
var opName = array[2];
var topic = $"{MqttTargetTopic}/{opName}";
Task.Run(() => Mqtt.Publish(topic, Message));
var responseStr = misWebInterface.WebSocket_Function(Message);
if (responseStr.Length > 0)
{
Task.Run(() => Mqtt.Publish(topic, $"MES|{cmd}_Resources|{opName}|{responseStr}"));
}
return responseStr;
}
}
public static string asyncSendMessageDemo(string Message)
{
lock (locker)
{
//"MES|MachinePlan|OpName|Value
var array = Message.Split('|');
var cmd = array[1];
var opName = array[2];
var topic = $"{MqttTargetTopic}/{opName}";
//Mqtt.Publish(topic, Message);
string responseStr = "";
//var responseStr = misWebInterface.WebSocket_Function(Message);
//if (responseStr.Length > 0)
//{
// Mqtt.Publish(topic, $"MES|{cmd}_Resources|{opName}|{responseStr}");
//}
return responseStr;
}
}
/// <summary>
/// 发消息给通讯服务器
/// </summary>
/// <param name="Message"></param>
public static string asyncSendMessageQos0(string Message)
{
lock (locker)
{
//"MES|MachinePlan|OpName|Value
var array = Message.Split('|');
var cmd = array[1];
var opName = array[2];
var topic = $"{MqttTargetTopic}/{opName}";
Mqtt.PublishQos0(topic, Message);
return "";
}
}
}
}