全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

SignalR Self Host+MVC等多端消息推送服务(三)

一、概述

最近项目确实太忙,而且身体也有点不舒服,慢性咽炎犯了,昨晚睡觉时喘不过气来,一直没休息好,也没什么时间写博客,今天朋友问我什么时候能出web端的消息发送的文章时,我还在忙着改项目的事,趁着中午吃饭和午休的时间,赶紧补上之前欠下的文章。

这章主要是实现多端消息相互通信的简单demo,mvc的web端发送信息到control端等。

二、创建web客户端

1、新建一个WebClient解决方案

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

3、根据自己实际情况选择对应的项目模板,这里为了做演示,选择Internet应用程序

4、在vs中打卡程序包管理器控制台,输入以下代码

Install-Package Microsoft.AspNet.SignalR.JS

5、修改项目中Views下Homge文件夹中的Index.cshtml文件代码,如下

@{
  Layout = null;
}

<h1>流程演示</h1>
<input type="hidden" id="displayname" />
<h2 id="thisname"></h2>

<select id="username" style="width: 100px;">
</select>
<br />
<br />
<input type="text" id="message" />
<input id="send" type="button" value="发送" />
<div>
  <h1 id="messgaeInfo"></h1>
</div>
<script src="~/Scripts/jquery-1.8.2.min.js"></script>
<script src="~/Scripts/jquery.signalR-2.2.1.min.js"></script>
<script src="http://localhost:10086/signalr/hubs"></script>
<script type="text/javascript">
  $(function () {
    $.connection.hub.url = 'http://localhost:10086/signalr';
    var work = $.connection.IMHub;
  
    $('#displayname').val(prompt('请输入昵称:', ''));
    $('#thisname').text('当前用户:' + $('#displayname').val());
    var fromUser = $('#displayname').val();

    //对应后端的SendMessage函数,消息接收函数
    work.client.receivePrivateMessage = function (user, message) {
      //alert(message);
      $('#messgaeInfo').append(message + '</br>');
    };

    //后端SendLogin调用后,产生的loginUser回调
    work.client.onConnected = function (connnectId, userName, OnlineUsers) {
      reloadUser(OnlineUsers);
    };

    //hub连接开启
    $.connection.hub.start().done(function () {
      var username = $('#displayname').val();
      //发送上线信息
      work.server.register(username);

      //点击按钮,发送消息
      $('#send').click(function () {
        var friend = $('#username').val();
        //调用后端函数,发送指定消息
        work.server.sendPrivateMessage(friend, $("#message").val());
      });
    });
  });

  //重新加载用户列表
  var reloadUser = function (userlist) {
    $("#username").empty();
    for (i = 0; i < userlist.length; i++) {
      $("#username").append("<option value=" + userlist[i].UserName + ">" + userlist[i].UserName + "</option>");
    }
  }
</script>

6、在运行我们的web Client项目前,先运行我们前面两章中的serve控制台项目,然后F5运行web Client项目,见如下界面,输入用户名为a的用户登录

7、然后打开另一个浏览器,如上步骤,输入b用户登录,a用户选择下拉项中的b(下拉选项在有用户登录时会自动添加新用户进去),b用户选择a,相互之间发送一下信息进行测试,结果如下

8、如果a、b之间消息传送没问题,证明web端消息传送成功,这个时候打开我们前一章中的Client控制台项目,运行该项目下bin中的Clinet.exe,打卡两个程序,输入登录名为c、b

9、用c用户给a发送消息hello a,效果如下

10、用c用户给b用户发送消息hello b!效果如下,证明control端给web端发送消息成功

11、用用户d给用户c发送消息,如下图,证明control端消息发送成功

12、用a给c发送消息,如下图所示

13、用b给d发送消息,如下图所示,证明web——>control发送消息成功

由上所示,证明以SignalR做成owin服务,是可以实现多端通信的,而且SignalR单独做成通信服务可以与其他项目分离、解耦。

后期有时间我会继续优化,集成RabbitMQ等

写的不好,第一次写博客,请各位大大多多指教

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


# SignalR  # Self  # Host  # MVC  # 消息推送  # 基于SignalR的消息推送与二维码扫描登录实现代码  # Asp.NET MVC中使用SignalR实现推送功能  # 使用SignalR推送服务在Android的实现 SignalA  # asp.net mvc实现简单的实时消息推送  # ASP.NET实现推送文件到浏览器的方法  # .net平台推送ios消息的实现方法  # .net 通过URL推送POST数据具体实现  # SignalR Self Host+MVC等多端消息推送服务(二)  # SignalR Self Host+MVC等多端消息推送服务(一)  # 发送消息  # 所示  # 用户登录  # 如下图  # 后端  # 新建一个  # 多端  # 目下  # 我会  # 还在  # 也没  # 什么时候  # 问我  # 博客  # 请输入  # 相互之间  # 这个时候  # 实际情况  # 不舒服  # 可以实现 


相关文章: 如何在阿里云虚拟主机上快速搭建个人网站?  如何通过WDCP绑定主域名及创建子域名站点?  西安制作网站公司有哪些,西安货运司机用的最多的app或者网站是什么?  实现虚拟支付需哪些建站技术支撑?  javascript中对象的定义、使用以及对象和原型链操作小结  如何选择高性价比服务器搭建个人网站?  建站IDE高效指南:快速搭建+SEO优化+自适应模板全解析  建站VPS能否同时实现高效与安全翻墙?  如何在七牛云存储上搭建网站并设置自定义域名?  专业网站设计制作公司,如何制作一个企业网站,建设网站的基本步骤有哪些?  成都网站制作价格表,现在成都广电的单独网络宽带有多少的,资费是什么情况呢?  建站主机选虚拟主机还是云服务器更好?  清单制作人网站有哪些,近日“兴风作浪的姑奶奶”引起很多人的关注这是什么事情?  建站之星如何修改网站生成路径?  金*站制作公司有哪些,金华教育集团官网?  如何在腾讯云服务器快速搭建个人网站?  如何制作算命网站,怎么注册算命网站?  建站168自助建站系统:快速模板定制与SEO优化指南  微信小程序 input输入框控件详解及实例(多种示例)  昆明高端网站制作公司,昆明公租房申请网上登录入口?  如何通过FTP服务器快速搭建网站?  高防服务器租用如何选择配置与防御等级?  如何选择适配移动端的WAP自助建站平台?  如何在腾讯云服务器上快速搭建个人网站?  如何处理“XML格式不正确”错误 常见XML well-formed问题解决方法  c++ stringstream用法详解_c++字符串与数字转换利器  C#如何序列化对象为XML XmlSerializer用法  ,柠檬视频怎样兑换vip?  香港服务器选型指南:免备案配置与高效建站方案解析  制作网站建设的公司有哪些,网站建设比较好的公司都有哪些?  长沙企业网站制作哪家好,长沙水业集团官方网站?  公司网站设计制作厂家,怎么创建自己的一个网站?  如何在阿里云虚拟机上搭建网站?步骤解析与避坑指南  网站制作中优化长尾关键字挖掘的技巧,建一个视频网站需要多少钱?  制作网站的软件免费下载,免费制作app哪个平台好?  如何高效生成建站之星成品网站源码?  营销式网站制作方案,销售哪个网站招聘效果最好?  如何用免费手机建站系统零基础打造专业网站?  如何构建满足综合性能需求的优质建站方案?  北京的网站制作公司有哪些,哪个视频网站最好?  c++怎么编写动态链接库dll_c++ __declspec(dllexport)导出与调用【方法】  如何用狗爹虚拟主机快速搭建网站?  SAX解析器是什么,它与DOM在处理大型XML文件时有何不同?  建站之星后台密码如何安全设置与找回?  宝塔新建站点报错如何解决?  css网站制作参考文献有哪些,易聊怎么注册?  北京制作网站的公司排名,北京三快科技有限公司是做什么?北京三快科技?  网站制作的步骤包括,正确网址格式怎么写?  网站制作新手教程,新手建设一个网站需要注意些什么?  如何快速搭建响应式可视化网站? 

您的项目需求

*请认真填写需求信息,我们会在24小时内与您取得联系。