asp.net WEBSocket简单例子 推送数据

发布时间:2024-12-08 16:52

关闭推送通知减少数据传输,降低电池消耗 #生活技巧# #数码产品使用技巧# #平板电脑省电技巧#

最新推荐文章于 2024-11-07 15:17:11 发布

湫化风雨 于 2018-12-05 10:41:53 发布

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

asp.net WEBSocket简单例子 推送数据

public class SocketHandler { public const int BufferSize = 4096; //缓冲区 /// <summary> /// webSocket 承载 /// </summary> public WebSocket socket; /// <summary> /// webSocket 转换静态 /// </summary> private static WebSocket webSocket; private static HttpContext context; private static byte[] faceJson; // SocketHandler(WebSocket socket) { this.socket = socket; } /// <summary> /// 使用websocket发送json /// </summary> /// <param name="body">json实体</param> /// <returns></returns> public static async Task Send(FaceCheckinEventArgs body) { MsgTemplate msgTemplate = new MsgTemplate(); msgTemplate.Name = body.DeviceName; msgTemplate.PicUrl = body.PicUrl; msgTemplate.UpTime = body.RecordTime.ToLocalTime().ToString(); msgTemplate.CarNo = body.CardID; //序列化 var json = JsonConvert.SerializeObject(msgTemplate); faceJson = Encoding.UTF8.GetBytes(json); if (webSocket == null) return; //放入数组段 var outgoing = new ArraySegment<byte>(faceJson, 0, faceJson.Length); //发送json await webSocket.SendAsync(outgoing, WebSocketMessageType.Text, true, CancellationToken.None); } /// <summary> /// 开启socket /// </summary> /// <param name="hc"></param> /// <param name="n"></param> /// <returns></returns> static async Task Acceptor(HttpContext hc, Func<Task> n) { if (!hc.WebSockets.IsWebSocketRequest) return; var socket = await hc.WebSockets.AcceptWebSocketAsync(); webSocket = socket; var h = new SocketHandler(socket); context = hc; var buffer = new byte[BufferSize]; var seg = new ArraySegment<byte>(buffer); while(webSocket.State== WebSocketState.Open) //保持开启状态 { Thread.Sleep(1000); } } /// <summary> /// 为这个SokKethHANDER使用分支请求管道 /// </summary> /// <param name="app"></param> public static void Map(IApplicationBuilder app) { app.UseWebSockets(); app.Use(SocketHandler.Acceptor); } }

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485

网址:asp.net WEBSocket简单例子 推送数据 https://www.yuejiaxmz.com/news/view/415604

相关内容

websocket @ServerEndpoint(value = “/websocket/{ip}”)详解
2024 年 8 个好用的 Websocket 测试工具推荐
打造高效便捷的在线购物平台:ASP.NET网上购物系统源代码推荐
websocket压力测试小工具
慎用ASP.Net的validateRequest=“false”
如何使用数据AMQP的方式推送设备数据
如何使用websocket压力并发测试工具
Laravel 中使用 swoole 项目实战开发案例二 (后端主动分场景给界面推送消息)life
优质数据+简单分析=30+CNS子刊?
简单生活大数据分析

随便看看