XingDy姐

Signalr 网络通讯

电脑版发表于:2020/1/14 14:23

  电脑坏境不支持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);
        }
    }
}


关于TNBLOG
TNBLOG,技术分享。技术交流:群号677373950
ICP备案 :渝ICP备18016597号-1
App store Android
精彩评论
{{item.replyName}}
{{item.content}}
{{item.time}}
{{subpj.replyName}}
@{{subpj.beReplyName}}{{subpj.content}}
{{subpj.time}}
猜你喜欢