专业网站建设品牌,十四年专业建站经验,服务6000+客户--广州京杭网络
免费热线:400-683-0016      微信咨询  |  联系我们

vs2010 使用SignalR 提高B2C商城用户体验

当前位置:网站建设 > 技术支持
资料来源:网络整理       时间:2023/2/14 0:20:03       共计:3588 浏览
上一章节,我们的web即时通讯已经可以实现跨域了,但针对我们的需求,还希望,一些客户端程序可以和我们的web用户,在线聊天,所以到SignalR官网,查阅文档,当然,还有版本限制,限制都是SignalR 2.0了,我们1.几版本的能不能完美支持呢?

看到了这些内容,感觉是不是很惊喜,全端支持

我们来看.NET Library,大概浏览一下,启动VS,新建一个WinForm程序,打开nuget,找到Client的对应版本:

 Install-Package Microsoft.AspNet.SignalR.Client -Version 1.1.2

此时,我们的项目结构如下:

 

 

 

我们看到,相应的引用已经添加,只有2个类库就可以轻松实现客户端通信了,有空研究一下源码,反正是开源的,这样就可以根据源码开发出对应的C++版本,以便注册用户的客户端开发了。

此时打开From1.cs的代码,添加如下:

view sourceprint? 01.namespace SignalRclient 02.{ 03.    public partial class Form1 : Form 04.    { 05.        HubConnection hubConnection; 06.        IHubProxy hubProxy; 07.        private delegate void AddTxt(string msg); 08.        public Form1() 09.        { 10.            InitializeComponent(); 11.            hubConnection = new HubConnection('http://localhost:2154/signalr/hubs'); 12.            hubProxy = hubConnection.CreateHubProxy('pushHub'); 13.            hubProxy.On<string>('addMessage', (message) => this.Invoke(new AddTxt(Show), message)); 14.            hubConnection.Start().Wait(); 15.        } 16.  17.        private void Show(string msg) 18.        { 19.            textBox2.Text += msg + ' 20.'; 21.        } 22.  23.        private void btnSubmit_Click(object sender, EventArgs e) 24.        { 25.            hubProxy.Invoke('send', textBox1.Text).Wait(); 26.        } 27.    } 28.}

代码大概解释一下,

view sourceprint? 1.hubConnection = new HubConnection('http://localhost:2154/signalr/hubs'); 初始化对我们IM服务器的集线器连接, view sourceprint? 1.hubProxy = hubConnection.CreateHubProxy('pushHub');连接指定的集线器。 view sourceprint? 1.hubProxy.On<string>('addMessage', (message) => this.Invoke(new AddTxt(Show), message)); 配置我们服务端定义的匿名方法,并设置委托方法,以供调用。 view sourceprint? 1.    hubProxy.Invoke('send', textBox1.Text).Wait(); send 是我们在服务端定义的发送方法,这里都是通过方法名调用的,有点类似js的eval了,是不是很强大。 2.  3.  4.代码很简单,也很方便的可以扩展使用,我们启动程序,看一下效果 view sourceprint? 1.  

已经可以收到自己发出的信息,是不是很神奇,方法名一定要对应上,不然可收不到。
我们再启动web端,和跨域端,看看是不是三端都可以通信了:


LOL,是不是很强大,现在,我们的商户已经可以和买家进行即时沟通了。后面我们可以深入扩展,并将Android和IOS的系统一起合并进来,会不会超越qq呢。
版权说明:
本网站凡注明“广州京杭 原创”的皆为本站原创文章,如需转载请注明出处!
本网转载皆注明出处,遵循行业规范,如发现作品内容版权或其它问题的,请与我们联系处理!
欢迎扫描右侧微信二维码与我们联系。
·上一条:SignalR 循序渐进(四) Hub的生命周期以及IoC - hellsoul86 | ·下一条:solr与.net系列课程(五)solrnet的使用

Copyright © 广州京杭网络科技有限公司 2005-2024 版权所有    粤ICP备16019765号 

广州京杭网络科技有限公司 版权所有