聊天框Demo:DotNetCore+ActiveMQ+Mqttjs 实现前后台消息监听

网上查了查 ActiveMQ + .net core 的例子很少,自己做一个demo 作为记录,另外FineUI Core基础版要来了,出来后我会用FineUI再做一版,为知识星球的引流...

聊天框Demo:DotNetCore+ActiveMQ+Mqttjs 实现前后台消息监听

1.安装SDK 准备ActiveMQ 服务

此处用的 .net core 2.0+

此处用的 apache-activemq-5.9.0

2.创建项目

聊天框Demo:DotNetCore+ActiveMQ+Mqttjs 实现前后台消息监听

聊天框Demo:DotNetCore+ActiveMQ+Mqttjs 实现前后台消息监听

聊天框Demo:DotNetCore+ActiveMQ+Mqttjs 实现前后台消息监听

3.引用样式

4.引用DLL

聊天框Demo:DotNetCore+ActiveMQ+Mqttjs 实现前后台消息监听

聊天框Demo:DotNetCore+ActiveMQ+Mqttjs 实现前后台消息监听

注意:先安装 Apache.NMS.NetCore 再安装 Apache.NMS.ActiveMQ.NetCore

聊天框Demo:DotNetCore+ActiveMQ+Mqttjs 实现前后台消息监听

 

 5.抄袭一个ActiveMQHelp

 来自 https://blog.csdn.net/PeterPan_hai/article/details/52354913

这里未做任何修改,正常添加引用即可

聊天框Demo:DotNetCore+ActiveMQ+Mqttjs 实现前后台消息监听

 

聊天框Demo:DotNetCore+ActiveMQ+Mqttjs 实现前后台消息监听

 

聊天框Demo:DotNetCore+ActiveMQ+Mqttjs 实现前后台消息监听

6.写代码

引用

聊天框Demo:DotNetCore+ActiveMQ+Mqttjs 实现前后台消息监听

聊天框Demo:DotNetCore+ActiveMQ+Mqttjs 实现前后台消息监听

 

 

直接重写 View/Home/Index.cshtml

@{ ViewData["Title"] = "全球都比较大的聊天室"; } @section body{ <h2>@ViewData["Title"]</h2> <form></form> } @section Scripts{ @*框架已经引用了*@ @*<script src="http://www.likecs.com/~/js/MQTT/paho-mqtt.js"></script>*@ <script> $(document).ready(function () { InitPage();//准备页面 ItinPahoClient();//准备链接 }); //核心方法:通过MQtt连接 function ItinPahoClient() { //地址 端口 链接名称(不是主题) var client = new Paho.Client("没神的IP,大伙都知道", 61614, "jsclient"); //监听事件 client.onMessageArrived = function (msg) { //收到消息 messagebox.append("接收到消息:" + msg.payloadString); $('#textbox').val(''); }; //链接配置 client.connect({ onSuccess: function () { messagebox.append('链接成功'); //订阅主题为myqueue client.subscribe("myqueue"); //发布消息,主题为myqueue2 //client.publish("myqueue2", "Message from js client"); } }); } //发送消息 function setmessage() { var v = $('#textbox').val(); bsEx.dopostback('@Url.Action("SetMessage")', {"msg":v}, function (t) { eval('(' + t + ')'); }); } ///初始化页面 function InitPage() { //表单 new bsEx.ItemForm({ id: "form1", renderto: '#form1', items: [ { type: 'textarea', name: 'messagebox', title: '消息', height: '300px' }, { type: 'text', name: 'textbox', title: '发送' } ], colunb: 1, showlabel: false, css: { 'width': '500px' } }).init().attr("onkeydown","if(event.keyCode == 13) { return false; }"); //发送按钮 var btn = $('#textbox').addbutton("发送"); btn.on('click', function () { setmessage(); }) $('#footer span').prepend("v" + $.fn.bsEx); //重写append 加个回车 messagebox = $('#messagebox'); messagebox.append = function () { arguments[0] = arguments[0] +' \r\n '; ($.fn.append).apply(this,arguments); } messagebox.append('...链接中'); } //再text后面加一个button $.fn.addbutton = function (text) { $(this).parent().addClass('input-group'); var bid = $(this).attr('id') + '-btn'; var b = $('<span>' + text + '</span >'); $(this).after(b); $(this).attr("onkeydown", "if(event.keyCode == 13) { setmessage(); }"); return $(b); } </script> }

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wpgpxx.html