using AmrControl.ADS; using Microsoft.AspNetCore.SignalR; using Newtonsoft.Json; using System.Xml.Linq; namespace AmrControl.Common { public class ChatHub :Hub,IChatHub { protected static bool writebool = false; public async Task SendMessage(string topic, string message) { //try //{ // //TcClient.GetInstance().WriteBool("MAIN.testBool", writebool); // //TcClient.GetInstance().WriteValue("MAIN.testBool", writebool); // //TcClient.GetInstance().WriteValue("MAIN.curr", 123); // //TcClient.GetInstance().WriteValue("serial_send_byte.array_send_data", new byte[] { 11, 22, 33, 44 }); // //writebool = !writebool; // //bool val1 = TcClient.GetInstance().ReadValue("MAIN.testBool"); // //short val2 = TcClient.GetInstance().ReadValue("MAIN.curr"); // //byte[] val3 = TcClient.GetInstance().ReadValue("serial_send_byte.array_send_data"); // //string str = AppHelper.BytesToString(val3); // //await Clients.All.SendAsync("ReceiveMessage", topic, $"bool:{val1} , curr:{val2} ,send_data:{str}"); // byte[] val = TcClient.GetInstance().ReadValue("MAIN.jgrVar"); // JGR_Tc_Model model = AppHelper.BytesToStruct(val); // string str = JsonConvert.SerializeObject(model); // await Clients.All.SendAsync("ReceiveMessage", topic, $"jgr小车数据结构:{str}"); //} //catch(Exception ex) //{ // await Clients.All.SendAsync("ReceiveMessage", topic, ex.Message); //} await Clients.All.SendAsync("ReceiveMessage", topic, message); } public override Task OnConnectedAsync() { return base.OnConnectedAsync(); } public override Task OnDisconnectedAsync(Exception? exception) { return base.OnDisconnectedAsync(exception); } } public interface IChatHub { Task SendMessage(string topic, string message); } }