Browse Source

加一个 ProtocolMessageHandler

feature/x1-web-request
root 1 week ago
parent
commit
d42d5dc45c
  1. 2
      src/X1.WebSocket/Extensions/ServiceCollectionExtensions.cs
  2. 36
      src/X1.WebSocket/Handlers/ProtocolMessageHandler.cs

2
src/X1.WebSocket/Extensions/ServiceCollectionExtensions.cs

@ -30,7 +30,7 @@ public static class ServiceCollectionExtensions
services.AddSingleton<IWebSocketMessageHandler, ChatMessageHandler>();
services.AddSingleton<IWebSocketMessageHandler, HeartbeatHandlerManager>();
services.AddSingleton<IWebSocketMessageHandler, NotificationMessageHandler>();
services.AddSingleton<IWebSocketMessageHandler, ProtocolMessageHandler>();
// 注册后台服务
services.AddHostedService<WebSocketMessageService>();
services.AddHostedService<ConnectionHealthCheckService>();

36
src/X1.WebSocket/Handlers/ProtocolMessageHandler.cs

@ -0,0 +1,36 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Text.Json;
using System.Threading.Tasks;
using CellularManagement.WebSocket.Models;
using Microsoft.Extensions.Logging;
namespace CellularManagement.WebSocket.Handlers
{
public class ProtocolMessageHandler : IWebSocketMessageHandler
{
private readonly ILogger<ChatMessageHandler> _logger;
public ProtocolMessageHandler(ILogger<ChatMessageHandler> logger)
{
_logger = logger;
}
public string MessageType => "Protocol";
public async Task<WebSocketMessage> HandleAsync(WebSocketMessage message)
{
_logger.LogDebug("收到仪表发送[Protocol]:{Data}", System.Text.Encoding.UTF8.GetString(message.Data));
var response = new WebSocketMessage
{
ConnectionId = message.ConnectionId,
MessageType = System.Net.WebSockets.WebSocketMessageType.Text,
NeedQueue=false
};
await Task.CompletedTask.ConfigureAwait(false);
return response;
}
}
}
Loading…
Cancel
Save