#region << 版 本 注 释 >> /*-------------------------------------------------------------------- * 版权所有 (c) 2025 WenJY 保留所有权利。 * CLR版本:4.0.30319.42000 * 机器名称:Mr.Wen's MacBook Pro * 命名空间:Sln.Rfid.Business * 唯一标识:71B66923-4C77-4F26-8922-8F44566AE103 * * 创建者:WenJY * 电子邮箱: * 创建时间:2025-11-26 20:19:17 * 版本:V1.0.0 * 描述: * *-------------------------------------------------------------------- * 修改人: * 时间: * 修改说明: * * 版本:V1.0.0 *--------------------------------------------------------------------*/ #endregion << 版 本 注 释 >> using System; using System.Collections.Generic; using System.Linq; using Fleck; using Sln.Rfid.Serilog; namespace Sln.Rfid.Business { public class WebSocketBusiness { private List allSockets = new List(); private readonly SerilogHelper _logger; public WebSocketBusiness(SerilogHelper serilogHelper) { _logger = serilogHelper; } public void Init() { var server = new Fleck.WebSocketServer($"ws://0.0.0.0:7181"); server.Start(socket => { socket.OnOpen = () => { var data = socket.ConnectionInfo; _logger.Info("WebSocket Open!"); allSockets.Add(socket); }; socket.OnClose = () => { _logger.Info("WebSocket Close!"); allSockets.Remove(socket); }; socket.OnMessage = message => { //ReceivedMessageRequestInfoEvent?.Invoke(socket, message); }; }); } public void PushMsg(string msg) { try { foreach (var socket in allSockets.ToList()) { socket.Send(msg); _logger.Info($"WebSocket推送信息:{msg}"); } } catch (Exception ex) { _logger.Info($"WebSocket推送信息异常:{ex.Message}"); } } } }