🐛 Fix websocket gateway
This commit is contained in:
@@ -141,12 +141,17 @@ public class WebSocketService
|
|||||||
try
|
try
|
||||||
{
|
{
|
||||||
var endpoint = packet.Endpoint.Replace("DysonNetwork.", "").ToLower();
|
var endpoint = packet.Endpoint.Replace("DysonNetwork.", "").ToLower();
|
||||||
await _nats.PublishAsync(WebSocketPacketEvent.SubjectPrefix + endpoint, new WebSocketPacketEvent
|
await _nats.PublishAsync(
|
||||||
|
WebSocketPacketEvent.SubjectPrefix + endpoint,
|
||||||
|
GrpcTypeHelper
|
||||||
|
.ConvertObjectToByteString(new WebSocketPacketEvent
|
||||||
{
|
{
|
||||||
AccountId = Guid.Parse(currentUser.Id),
|
AccountId = Guid.Parse(currentUser.Id),
|
||||||
DeviceId = deviceId,
|
DeviceId = deviceId,
|
||||||
PacketBytes = packet.ToBytes()
|
PacketBytes = packet.ToBytes()
|
||||||
});
|
}).ToBase64()
|
||||||
|
);
|
||||||
|
return;
|
||||||
}
|
}
|
||||||
catch (Exception ex)
|
catch (Exception ex)
|
||||||
{
|
{
|
||||||
|
@@ -173,12 +173,13 @@ public class BroadcastEventHandler(
|
|||||||
|
|
||||||
private async Task HandleWebSocketPackets(CancellationToken stoppingToken)
|
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))
|
WebSocketPacketEvent.SubjectPrefix + "sphere", cancellationToken: stoppingToken))
|
||||||
{
|
{
|
||||||
try
|
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);
|
var packet = WebSocketPacket.FromBytes(evt.PacketBytes);
|
||||||
switch (packet.Type)
|
switch (packet.Type)
|
||||||
{
|
{
|
||||||
|
Reference in New Issue
Block a user