宝哥软件园

信号机自主机MVC等多终端消息推送服务(3)

编辑:宝哥软件园 来源:互联网 时间:2021-09-04

一.概述

最近项目真的太忙了,身体有点不舒服。我患有慢性咽炎。昨晚睡觉时我无法呼吸。没有好好休息,也没有太多时间写博客。今天朋友问我什么时候可以把消息发的文章发布到网上,我还在忙着改项目,趁着午饭和午休时间补上之前欠的文章。

本章主要是实现多终端消息通信的简单演示,mvc的web端向控制端发送信息。

其次,创建一个网络客户端

1.创建新的网络客户端解决方案

2.在WebClient解决方案下创建一个名为Clinet mvc的新项目

3.根据自己的实际情况选择相应的项目模板。在这里,为了进行演示,选择互联网应用程序

4.在vs中的包管理器控制台中输入以下代码

安装-打包微软。9503.163.com

5.修改项目中“视图”下的“宏”文件夹中的Index.cshtml文件代码,如下所示

@ { Layout=null}h1流程演示/h1输入类型=' hidden ' id=' display name '/H2 id=' this name '/H2 select id=' username ' style=' width : 100px;'/select br/br/input type=' text ' id=' message '/input id=' send ' type=' button ' value=' send '/div h1 id=' messgaeinfo '/h1/div script src=' http 3360 ~/Scripts/jquery-1 . 8 . 2 . min . js '/script script src=' http : ~/Scripts/jquery . signor-2 . 2 . 1 . min . js '/script script src=' http 336030var work=$ .connection.IMHub$('#displayname ')。val(提示('请输入昵称: ',' ');$('#thisname ')。文本('当前用户:' $('#displayname ')。val());var fromUser=$('#displayname ')。val();//对应后端的SendMessage函数,消息接收函数work . client . receiveprivatemessage=function(用户,消息){//alert(消息);$('#messgaeInfo ')。追加(消息'/br ');};//调用后端SendLogin后,生成的loginUser回调work . client . onconnected=function(connctid,username,online users){ reload user(online users);};//集线器连接打开$。connection.hub.start()。done(function(){ var username=$(' # display name '))。val();//发送在线信息work.server.register(用户名);//单击按钮发送消息$ ('# send ')。单击(function(){ var friend=$(' # username ')。val();//调用后端函数,发送指定的消息work . server . sendprivemessage(friend,$ ('# message ')。val());});});});//重载用户列表var Reload user=function(user list){ $(' # username ')。empty();for(I=0;i userlist.lengthi ) { $('#username ')。追加('选项值=' userlist[i])。用户名''用户列表[i]。UserName '/option ');} }/脚本

6.在运行我们的web Client项目之前,先运行前两章的serve console项目,然后F5运行web Client项目,看到如下界面,输入用户名为A的用户进行登录。

7.然后打开另一个浏览器。上一步,进入B用户登录,A用户在下拉项中选择B(下拉选项会在A用户登录时自动添加新用户),B用户选择A,互相发消息测试。结果如下

8.如果A和B之间的消息传输没有问题,则证明web端的消息传输是成功的。这时,打开上一章的Client console项目,在这个项目下运行bin中的Clinet.exe,打卡两个程序,输入登录名C和b

9.用c用户向a发送消息hello a,效果如下

10.发个信息你好b!效果如下,证明控制端向web端发送消息成功

11.使用用户d向用户c发送消息,如下图所示,证明控制端的消息发送成功。

12.使用a向c发送消息,如下图所示

13.使用b向d发送消息,如下图所示,证明web——control发送消息成功

如上图,证明了使用Signaler作为owin服务可以实现多终端通信,并且Signaler单独做的通信服务可以与其他项目分离、解耦。

以后有时间我会继续优化整合RabbitMQ。

写的不好。第一次写博客。请给我很好的建议

以上就是本文的全部内容。希望对大家的学习有帮助,支持我们。

更多资讯
游戏推荐
更多+