博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
SignalR的Javascript客户端API使用方式整合
阅读量:5981 次
发布时间:2019-06-20

本文共 2019 字,大约阅读时间需要 6 分钟。

  PersistentConnection Hub/生成Proxy模式 Hub/非生成Proxy模式
服务端配置

app.Map("/messageConnection", map =>

           {
               map.RunSignalR<MessageConnection>();
           });

app.Map("/messageHub", map =>

           {
               map.RunSignalR(new Microsoft.AspNet.SignalR.HubConfiguration { EnableJavaScriptProxies = true });
           });

app.Map("/messageHub", map =>

            {
                map.RunSignalR(new Microsoft.AspNet.SignalR.HubConfiguration { EnableJavaScriptProxies = true });
            });

引入js文件 jquery-1.6.4.min.js
jquery.signalR-2.2.0.min.js
jquery-1.6.4.min.js
jquery.signalR-2.2.0.min.js
/messageHub/js
上述js文件是动态生成,其中messageHub的为服务端定义的路径
jquery-1.6.4.min.js
jquery.signalR-2.2.0.min.js
创建连接 var connection = $.connection("/message"); var connection = $.connection; var connection = $.hubConnection();
开启连接

connection.start()

                .done(function () {
                    connected = true;
                })
                .fail(function () {
                    alert("连接失败");
                });

connection.hub.start()

                .done(function () {
                    connected = true;
                })
                .fail(function () {
                    alert("连接失败");
                });

connection.start()

                .done(function () {
                    connected = true;
                })
                .fail(function () {
                    alert("连接失败");
                });

代理对象 var proxy = connection.MessageService;
MessageService是Hub的名称
var proxy = connection.createHubProxy("MessageService");
MessageService是Hub的名称
定义客户端方法

proxy.client.hello = function (message) {

                      console.log(message);   

}

proxy.on("hello", function (message) {        

                  console.log(message);

});

接收消息

connection.received(function (message) {

                alert(message);
            });

通过服务器调用客户端方法实现
通过服务器调用客户端方法实现
发送消息 connection.send(message); 通过调用服务端方法实现
proxy.server.hello(message);
通过调用服务端方法实现
proxy.invoke("hello", message);
设置QueryString 在创建connection时指定
var connection = $.connection("/messageConnection", { username: "qs" + username });
connection.hub.qs = { username: "qs" + username };
connection.qs = { username: "qs" + username };
设置Cookie document.cookie = "username=" + username; document.cookie = "username=" + username; document.cookie = "username=" + username;
设置State proxy.state.ClientType = "HubAutoProxy"; proxy.state.ClientType = "HubNonAutoProxy";

转载于:https://www.cnblogs.com/ZaraNet/p/9935197.html

你可能感兴趣的文章
[swift 进阶]读书笔记-第四章:可选值 C4P4_强制解包的时机
查看>>
Java B2B2C多用户商城 springcloud架构-Spring Cloud Feign
查看>>
给妹子讲python-S01E24深入解析异常处理方式
查看>>
Red Hat Enterprise Linux(RHEL)中yum的repo文件详解
查看>>
利用Office宏及Powershell的针对性攻击样本分析
查看>>
golang中 net/http 网络连接与协程
查看>>
浅谈Service Mesh体系中的Envoy
查看>>
证书问题“Command /usr/bin/codesign failed with exit code 1”编译不通过的解决方法
查看>>
跨域资源共享--CORS
查看>>
vue版stickTop效果
查看>>
Re:从零开始的机器学习 - Titanic: Machine Learning from Disaster
查看>>
Java集合源码分析之基础(五):平衡二叉树(AVL Tree)
查看>>
进击webpack4 (基础篇三:配置 二)
查看>>
直播、短视频平台如何选择合适的CDN?
查看>>
Python为何如此优秀?斯坦福教授告诉你!
查看>>
Jenkins in Action :GitLab 部署 Maven 项目
查看>>
一块GPU就能训练语义分割网络,百度PaddlePaddle是如何优化的?
查看>>
SSH 免密登录
查看>>
微服务实战:从架构到发布(一)
查看>>
Linux命令
查看>>