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

举报
~大鱼~ 发表于 2021/05/27 01:19:57 2021/05/27
【摘要】 这几天想着将一个winform的工具上线到web上,因为对时时性的要求比较高,找朋友咨询了一下推荐了SignlarR 框架,比较强大.昨天才看到,今天研究了一下将里面的例子都拿出来共享. 官方的参考:http://www.asp.net/signalr/overview/getting-started 安装SignalR: NuGet命令: PM> Install-Packa...

这几天想着将一个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<====

文章来源: brucedone.com,作者:大鱼的鱼塘,版权归原作者所有,如需转载,请联系作者。

原文链接:brucedone.com/archives/172

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。