This commit is contained in:
2025-12-21 11:33:11 +07:00
parent f52f0fd8da
commit 93599f5c95
9 changed files with 876 additions and 302 deletions

29
RobotApp/Hubs/RobotHub.cs Normal file
View File

@@ -0,0 +1,29 @@
using Microsoft.AspNetCore.SignalR;
using RobotApp.Common.Shares;
using RobotApp.VDA5050.State;
using System.Text.Json;
namespace RobotApp.Hubs
{
public class RobotHub : Hub
{
// Client gọi để theo dõi robot cụ thể
public async Task JoinRobot(string serialNumber)
{
await Groups.AddToGroupAsync(Context.ConnectionId, serialNumber);
Console.WriteLine($"Client {Context.ConnectionId} joined robot group: {serialNumber}");
}
public async Task LeaveRobot(string serialNumber)
{
await Groups.RemoveFromGroupAsync(Context.ConnectionId, serialNumber);
}
// Phương thức này sẽ được gọi từ service để broadcast
public async Task SendState(string serialNumber, StateMsg state)
{
var json = JsonSerializer.Serialize(state, JsonOptionExtends.Write);
await Clients.Group(serialNumber).SendAsync("ReceiveState", json);
}
}
}