tnblog
首页
登录

Signalr 网络通讯

375人阅读 2020/1/14 14:23 总访问:3183 评论:1 手机 收藏
分类: 随笔

  电脑坏境不支持websocket(html5),选用webscoket,这个技术是真正可以做到及时通讯。如果不支持他会他会选择长连接或者轮训。

  Tcp/Udp  协议  聊天软件最核心的通讯

  Socket   双向通讯


  首相,我们先创建一个MVC项目;

  在安装一个依赖:install-package Microsoft.AspNet.SignalR -version 2.0.3

  在创建一个类:

  

 public class TongxunHub:Hub
    {
        public void Tongxun(string tong)
        {
            Clients.All.receive(tong);
        }
    }

   接下来就是页面:

   

<script src="~/Content/jquery-1.9.1.min.js"></script>
<script src="~/Scripts/jquery.signalR-2.0.3.js"></script>
<script src="~/signalr/hubs"></script>
<script>
    // 关联集线器(关联谁就能和谁进行通信)
    var chat = $.connection.tongxunHub;
    // 开启客户端服务
    $.connection.hub.start();
    // 提供一个前台方法
    chat.client.receive = function (tong)
    {
        $("#content").append("<li>" + tong + "</li>");
    }
    $(function () {
        $("#tongs").click(function () {
            // 客服端主动调用服务器
            chat.server.tongxun($("#urel").html() + ":" + $("#tong").val());
            $("#tong").val("");
        });
    })
</script>
<ul id="content">
</ul>
<label id="urel">
</label>
<input type="text" id="tong" />
<input type="button"  value="确 定" id="tongs" />


  接下来再写一个类基本的通讯就好了:

using Microsoft.Owin;
using Owin;
[assembly: OwinStartupAttribute(typeof(Microsoft.AspNet.SignalR.StockTicker.Startup), "Configuration")]
namespace Microsoft.AspNet.SignalR.StockTicker
{
    public static class Startup
    {
        public static void ConfigureSignalR(IAppBuilder app)
        {
            app.MapSignalR();
        }
        public static void Configuration(IAppBuilder app)
        {
            Microsoft.AspNet.SignalR.StockTicker.Startup.ConfigureSignalR(app);
        }
    }
}


评价
黑发不知勤学早,白发方悔读书迟......
排名
6
文章
6
粉丝
16
评论
8
{{item.articleTitle}}
{{item.blogName}} : {{item.content}}
ICP备案 :渝ICP备18016597号-1
网站信息:2018-2020TNBLOG.NET
技术交流:群号677373950
欢迎加群交流技术