🐛 Fix websocket gateway
This commit is contained in:
@@ -141,12 +141,17 @@ public class WebSocketService
|
||||
try
|
||||
{
|
||||
var endpoint = packet.Endpoint.Replace("DysonNetwork.", "").ToLower();
|
||||
await _nats.PublishAsync(WebSocketPacketEvent.SubjectPrefix + endpoint, new WebSocketPacketEvent
|
||||
{
|
||||
AccountId = Guid.Parse(currentUser.Id),
|
||||
DeviceId = deviceId,
|
||||
PacketBytes = packet.ToBytes()
|
||||
});
|
||||
await _nats.PublishAsync(
|
||||
WebSocketPacketEvent.SubjectPrefix + endpoint,
|
||||
GrpcTypeHelper
|
||||
.ConvertObjectToByteString(new WebSocketPacketEvent
|
||||
{
|
||||
AccountId = Guid.Parse(currentUser.Id),
|
||||
DeviceId = deviceId,
|
||||
PacketBytes = packet.ToBytes()
|
||||
}).ToBase64()
|
||||
);
|
||||
return;
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
@@ -165,4 +170,4 @@ public class WebSocketService
|
||||
CancellationToken.None
|
||||
);
|
||||
}
|
||||
}
|
||||
}
|
@@ -173,12 +173,13 @@ public class BroadcastEventHandler(
|
||||
|
||||
private async Task HandleWebSocketPackets(CancellationToken stoppingToken)
|
||||
{
|
||||
await foreach (var msg in nats.SubscribeAsync<WebSocketPacketEvent>(
|
||||
await foreach (var msg in nats.SubscribeAsync<byte[]>(
|
||||
WebSocketPacketEvent.SubjectPrefix + "sphere", cancellationToken: stoppingToken))
|
||||
{
|
||||
try
|
||||
{
|
||||
var evt = msg.Data;
|
||||
var evt = JsonSerializer.Deserialize<WebSocketPacketEvent>(msg.Data, GrpcTypeHelper.SerializerOptions);
|
||||
if (evt == null) throw new ArgumentNullException(nameof(evt));
|
||||
var packet = WebSocketPacket.FromBytes(evt.PacketBytes);
|
||||
switch (packet.Type)
|
||||
{
|
||||
|
Reference in New Issue
Block a user