不用找了,比较全的signalR例子已经为你准备好了.

这几天想着将一个winform的工具上线到web上,因为对时时性的要求比较高,找朋友咨询了一下推荐了SignlarR 框架,比较强大.昨天才看到,今天研究了一下将里面的例子都拿出来共享.

官方的参考:http://www.asp.net/signalr/overview/getting-started

安装SignalR: NuGet命令:

PM> Install-Package Microsoft.AspNet.SignalR

 

<————1:与他人聊天:————>

后台代码示例:

 

 

小提示:注意其它的红色字体部分

前台代码示例:

《不用找了,比较全的signalR例子已经为你准备好了.》《不用找了,比较全的signalR例子已经为你准备好了.》


View Code

 

出现的效果:

《不用找了,比较全的signalR例子已经为你准备好了.》

两个窗口之间的聊天

 

我知道你心中肯定有疑问,我也是这样,当我刚接触的时候完全搞不懂这是为什么会这样,我们来回顾一次正常的聊天过程:

《不用找了,比较全的signalR例子已经为你准备好了.》

那我们重新拆分以上的方法来证明我们的猜想是否正确

 

chat.server.sendMessage(message) 从客户端调用了服务器的方法(服务器扮演的是中转站的角色).

此时的message 从客户端A发送给了服务端

那服务器就应该有这样的一个方法与之相对应

后台代码:

服务端接收到A发送来的message.

这个时候服务端将消息推送给客户端B

Clients.Others.talk(message);

这个时候客户端B应该有一个talk的方法来将消息显示出来

这个时候客户端B接收到消息,用Js的方法显示出来消息. 一次通话就完成了.

 

<————二,客户端传递参数给服务端并从服务端得到返回值:————>

前端代码:

《不用找了,比较全的signalR例子已经为你准备好了.》《不用找了,比较全的signalR例子已经为你准备好了.》

 

 

View Code

 

后端代码:

《不用找了,比较全的signalR例子已经为你准备好了.》《不用找了,比较全的signalR例子已经为你准备好了.》

View Code

 

效果图:

《不用找了,比较全的signalR例子已经为你准备好了.》

 

<————三,客户端刷时时的刷新数据————>

前端:

《不用找了,比较全的signalR例子已经为你准备好了.》《不用找了,比较全的signalR例子已经为你准备好了.》


 

 

 

 

 

View Code

后端:

《不用找了,比较全的signalR例子已经为你准备好了.》《不用找了,比较全的signalR例子已经为你准备好了.》

View Code

 

注:本次实现的所谓的时时刷新数据和官方提供的Demo有很大的差异,并不是后台代码的角度来刷新,而是从前端的角度来实现的。

 

====>点我下载DEMO<====

点赞

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据