博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Asp.Net SignalR 多平台的Client与Server
阅读量:5902 次
发布时间:2019-06-19

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

原文:

多平台

SignalR在.Net的大环境下都可以做到即时通讯,也就是说都可以使用,客户端也不仅是js。下面就来一个控制台的Client

我们需要在nuget上下载包 Microsoft.AspNet.SignalR.Client 有了它,我就可以进行开发了

下面创建一个Hub集线器的连接,地址填的之前的集线器server,可以看到使用与js的语法类似。客户端的服务是用on而执行服务器的方法副作用Invoke

static void Main(string[] args)        {            var hub = new HubConnection("http://localhost:23483/simpleHub");            var proxy = hub.CreateHubProxy("HubDemo");            proxy.On("helloClient", () =>            {                Console.WriteLine("收到服务器的问候");            });            hub.Start().Wait();            proxy.Invoke("HelloService").Wait();            Console.ReadKey();        }

这样的程序运行起来是丝毫没有问题的

因为owin规范,我们可以让应用程序宿主在其它地方,只要符合owin的规范就行,这里我们可以让它宿主在控制台应用上,我们需要在nuget上下载包

Microsoft.AspNet.SignalR.SelfHost 像下图的这些都是要有的

首先创建一个Startup类 ,这里使用了cors跨域

public class Startup    {        public void Configuration(IAppBuilder app)        {            // 有关如何配置应用程序的详细信息,请访问 http://go.microsoft.com/fwlink/?LinkID=316888            app.UseCors(CorsOptions.AllowAll).MapSignalR();        }    }

main入口点的代码则更加的简单,集线器的代码与之前的一致,就不贴出来了

class Program    {        static void Main(string[] args)        {            var host = WebApp.Start("http://localhost:8890");            Console.ReadKey();        }    }

现在我们把之前的console client的地址改成 ,先把服务端运行起来再运行客户端,同样是没有丝毫的问题

转载地址:http://hmupx.baihongyu.com/

你可能感兴趣的文章
UML类图示例
查看>>
sh ./ 执行区别
查看>>
宏定义(#ifndef+#define+#endif)的作用
查看>>
Prometheus安装部署以及配置
查看>>
taobao-pamirs-schedule-2.0源码分析——类设计
查看>>
10位程序员眼中的2007:寻找软件开…
查看>>
Stream API
查看>>
Web开发之-DOM操作对象
查看>>
APUE第15章学习扎记之程序的存储区布局试验
查看>>
ubuntu升级16.04 inter idea 中文输入法无效
查看>>
查找命令集:which/whereis/locate/find
查看>>
三目运算判断jsp脚本里面的值
查看>>
sqlserver 版 try catch
查看>>
sshtunnel在本地访问云服务器mysql
查看>>
Java类加载器( 死磕8)
查看>>
小蚂蚁学习APP接口开发(1)—— json方式封装通信接口
查看>>
我的友情链接
查看>>
CDN相关
查看>>
Tomcat的设置4——Tomcat的体系结构与设置基于端口号的虚拟主机
查看>>
三种判断端口存活的方法和链接200的判断方法
查看>>