上一页 1 2 3 4 5 6 7 8 9 10 ··· 12 下一页
摘要: SignalR集群 当客户端数量上来,一台server自然是吃不消的。多个server集群部署是必然的解决方案。再通过负载均衡,嗯 简直是完美。但是问题也接踵而来。每个server只能管理到当前server下的client,比如 server1要给连接在server2的client发一条消息是实现不了的。 这时我们需要“底板”中间件,什么叫底板 ,也就是在server的集群上再加一层,由底板来维护... 阅读全文
posted @ 2017-01-25 21:50 liangshiwei 阅读(2957) 评论(0) 推荐(1)
摘要: 多平台 SignalR在.Net的大环境下都可以做到即时通讯,也就是说都可以使用,客户端也不仅是js。下面就来一个控制台的Client 我们需要在nuget上下载包 Microsoft.AspNet.SignalR.Client 有了它,我就可以进行开发了 下面创建一个Hub集线器的连接,地址填的之前的集线器server,可以看到使用与js的语法类似。客户端的服务是用on而执行服务器的方法副作用I... 阅读全文
posted @ 2017-01-25 20:28 liangshiwei 阅读(4814) 评论(12) 推荐(0)
摘要: GlobalHost 外部通知 之前都是在集线器类中进行服务器对客户端的通知操作,但是在开发中往往会有需求监控某个系统 ,比如OA系统 上级领导在上面宣布下午两点要开会 那么就要通知到其他的人。这里在集线器中是不好实现的。还有各种各样的第三方通知需求,所以我们需要在集器线外部也可以进行通知 GlobalHost就可以助我们完成操作 这里创建了一个后台的处理程序,当我们请求是会使用GlobalHo... 阅读全文
posted @ 2017-01-24 20:32 liangshiwei 阅读(932) 评论(1) 推荐(0)
摘要: Hub类中的操作 在服务端我们要通过Hub类做一系列操作,下面就说说我们都可以做什么操作 客户端的发送消息操作 调用所有的客户端的helloClient方法 Clients.All.helloClient(); 调用除了给定ConnectionId的客户端之外的所有客户端的helloClient方法 Clients.AllExcept(Context.ConnectionId).... 阅读全文
posted @ 2017-01-24 19:33 liangshiwei 阅读(706) 评论(0) 推荐(0)
摘要: Hub中的 Context 使用了集线器后,会发现对比持久连接类少了OnConnectioned这样的事件,事实上是有的。需要我们去override .这下似乎发现了什么问题,记得持久连接类中有connectionid与request参数,而这里什么都没有???如果有需求要拿到connectionid呢 事实上是不用去担心的,因为已经为我们封装了context上下文对象,在基类HubBase... 阅读全文
posted @ 2017-01-24 18:28 liangshiwei 阅读(990) 评论(0) 推荐(0)
摘要: 不使用生成代理JS的实现 可能有同学会觉得使用集线器很麻烦,要么引入虚拟目录,要么在生成期间生成js文件,再引入js文件进行开发。难道就没有比较清爽的方式吗?这个当然是有的,先不要(。・∀・)ノ゙嗨皮起来, 看完后再做出选择 简单看一下生成的js文件,其实代码一大堆,我们也可以根据这个js来写一个 首先我们需要有连接对象 let hubDemo = $.hubConnection("/simpl... 阅读全文
posted @ 2017-01-23 21:46 liangshiwei 阅读(1659) 评论(1) 推荐(0)
摘要: 集线器Hub类 使用持久连接类去开发是有些困难的,因为基于事件的开发方式,我们可以进行操作的地方也仅仅只是OnReceived事件内,这有些像websocket的方式。我们迫切的需要一种更人性化,更为适用的开发方式。 集线器就是我们想要的,集线器是对持久连接类再一次的进行封装,集线器类都继承自Hub,集线器类可以让我们使用RPC的方式进行交互。 创建一个集线器类也是非常简单的 这时我们需要对St... 阅读全文
posted @ 2017-01-23 11:41 liangshiwei 阅读(4075) 评论(2) 推荐(0)
摘要: 简单聊天室 使用持久链接类我们就可以做一些即时通讯的应用了,我使用Group做了一个简单的聊天室,先上图技术细节下面再讲 可以加入聊天室、创建聊天室、发送消息,下面就说说我是如何通过Group做出来的 持久链接类有一个Groups的对象,通过这个对象,我们可以进行分组添加人员、发送消息、删除人员等操作 在连接事件中,给当前游客指定随机名称,并且返回当前已有的聊天室信息 protected ov... 阅读全文
posted @ 2017-01-23 09:11 liangshiwei 阅读(2618) 评论(0) 推荐(0)
摘要: 持久连接类 通过SignalR持久连接类可以快速的构建一个即时通讯的应用,上篇博文已经我们创建一个owin Startup类和一个持久连接类来完成我们的工作,然后在Startup类的Configuration方法中添加了我们的中间件,配置名称 myconnection1 简单看一下持久连接类,里面有四个可供我们重写的方法,从字面上就可以看出是什么意思,需要一提的是持久连接类是享元模式的实践,因为... 阅读全文
posted @ 2017-01-21 17:27 liangshiwei 阅读(898) 评论(0) 推荐(0)
摘要: 实时通讯 在做Web的时候经常会有客户端和服务端实时通讯的需求,比如即时聊天等。目前实时通讯有很多种规范和实现方式,但是每一个对浏览器的兼容性或者性能都不是很完美。 目前主流的解决方案有 WebSocket 使用ws协议基于tcp SSE 订阅服务器事件方式 长连接 轮询 而sigualR对这些都进行了封装,使得我们不用去关心到底是什么实现,是websocket还是sse,它会根据当前浏览... 阅读全文
posted @ 2017-01-20 00:13 liangshiwei 阅读(623) 评论(1) 推荐(1)
上一页 1 2 3 4 5 6 7 8 9 10 ··· 12 下一页