BeetleX轻松搭建HTTP和Weboskcet网关

在新版本的BeetleX.Bumblebee中实现了对Weboskcet代理的支持,因此使用BeetleX搭建同时支持HTTP和Weboskcet的网关只需要几行代码的工作就能完成;接下来构建一个简单的网关程序并测试一下对asp.net core SignalR进行代理的应用。

引用组件

使用BeetleX构建网关只需要引用BeetleX.Bumblebee即可,不过你相信也不想通过硬编码的方式来配置服务和负载策略;所以为了管理方便还是引用一下 BeetleX.Bumblebee.Configuration,这是组件的一个网关管理插件;除了这个外组件还提供了很多插件,在这里就不介绍了详细可以访问beetlex.io

搭建服务

使用组件搭建自己的网关真的只需要几行代码即可完成,代码如下:

    public class HttpServerHosted : IHostedService
    {
        private Gateway g;

        public virtual Task StartAsync(CancellationToken cancellationToken)
        {
            g = new Gateway();
            g.HttpOptions(o =>
            {
                o.Port = 80;
                o.LogToConsole = true;
                o.WriteLog = true;
            });
            g.Open();
            g.LoadPlugin(typeof(Bumblebee.Configuration.Config).Assembly);
            if (Environment.OSVersion.Platform == PlatformID.Win32NT)
            {
                var ps = new ProcessStartInfo($"http://localhost:{g.HttpServer.Options.Port}/__system/bumblebee/index.html")
                {
                    UseShellExecute = true,
                    Verb = "open"
                };
                Process.Start(ps);
            }
            return Task.CompletedTask;
        }
        public virtual Task StopAsync(CancellationToken cancellationToken)
        {
            g.Dispose();
            return Task.CompletedTask;
        }
    }

以上就是一个完全整网关的服务代码,它在本机AnyIP的80端口开启服务,启动后可以看到组件的启动情况。

构建一个SignalR项目

可以构建一个简单的asp.net core SignalR项目并运行在5000端口上

配置代理

接下来就把80端代理到5000这个SignalR项目上,由于SignalR这个项目除了有websocket外还有传统的http页面;所以需要在网关中添加对应这个端口的httpws服务,具体如下:

添加完成服务后还需要把服务添加到路由上

添加完成后点保存代理即可生效,接下来就可以访问80了。

一个HTTP和Weboskcet网关服务就这样完成是不是很简单呢,其实组件的功能还有很多,如果需要了解可以访问

beetlex.io

需要完全示例代码可以访问

https://github.com/IKende/BeetleX-Samples/tree/master/Gateway.Base

想体验一下简单的代理后的websocket聊天服务可以访问

http://chat.beetlex.io

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值