【Abp VNext】实战入门(三):【2】控制台服务 —— 实现 WebSocket 通讯服务

一、前言:

很多时候控制台需要实现即时通讯服务,可以考虑常用 WebSocket长连接来处理;

 

二、搭建控制台WebSocket服务端:

1、下载AbpVnext控制台服务,参考“控制台服务调用应用层领域层服务”;

2、Nuget引用“Fleck”;

3、HelloWorldService.cs 启动WebSocket服务:

    public class HelloWorldService : ITransientDependency
    {
        public async void  SayHello()
        {
            Console.WriteLine("Hello World!!!!!!!!!!!!!!!!!!!");            
            //开启WebSocket服务:0.0.0.0 表示监听所有IP
            WebSocketHelper_Fleck.WebSocketServer_Start("ws://0.0.0.0:1234");           
        }
    }

 

三、Html网页客户端连接WebSocket服务:

<html lang="en">
<head>
    <meta charset="utf-8">
    <title>WebSocket客户端</title>  
</head>
<body class="page-container-bg-solid page-boxed" style="overflow-x:hidden;">
    <button onclick="sendMessage('你好服务端,我是客户端消息,我好想你!')">发送消息</button>
    <script type="text/javascript">
        
        //websocket
        var ws = new WebSocket('ws://localhost:1234/');
        //连接上服务端后触发
        ws.onopen = function () { 
			//连接服务端成功
			console.log('Connection to server opened'); 
		}
        //收到服务端发来的消息后触发
        ws.onmessage = function (evt) {
            var data = JSON.parse(evt.data);
			Console.Log(data);          
        }
        //当服务端关闭后触发
        ws.onclose = function () { console.log("Connection closed"); }

        //发送消息给服务器端
        function sendMessage(msg) {
            if (ws.readyState == WebSocket.OPEN) {
                ws.send(msg);
            }
        }
        //断开与服务器端的连接
        function disConnect() {
            ws.close();
        }       
         
    </script>
</body>
</html>

 

四、总结:

简单实用,AbpVnext 即时通信业可以实用 Signal;

可以简单的替换那种  周期性调用接口实现刷新的功能,优雅!

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值