BeetleX

使用BeetleX.NetBenchmark压测TCP,HTTP和Websocket服务

血红的双手。 提交于 2020-02-26 09:14:40
NetBenchmark 是针对网络服务压测订制的开源组件,组件提供 TCP , HTTP 和 Websocket 的压力测试基础功能;为了更好的符合业务需求组件不提供UI配置信息源的方式(毕竟这种方式只能作有限制测试),而是由使用者来自己制定相应的逻辑代码来进行具体的业务测试。组件基于 netstandard2.0 ,除了可以在 .NET CORE 上运行外还可以在 .NET FX 接下来介绍一下组的使用。 引用组件 https://www.nuget.org/packages/BeetleX.NetBenchmark/ Github: https://github.com/IKende/NetBenchmark TCP测试 组件通过 Benchmark.Tcp 方法来构建一个 TCP 测压实例,方法如下: public static Runner Tcp<Packet, Token>(string host, int port, int connections, Func<BeetleX.Clients.AwaiterClient, Token, Task> handler) where Packet : BeetleX.Clients.IClientPacket, new() where Token : new() 方法带两个泛参 Packet 协议分析器,实现

BeetleX.AdminUI介绍

冷暖自知 提交于 2020-02-26 00:25:03
BeetleX.AdminUI 是基于 Beetlexjs + Vuejs + Bootstrap 相结合的后台管理框架,主要介绍在不使用 Webpack 的情况下,如何用 VS 来开发一个单页面的Web后台管理应用。如果你喜欢用 Vuejs + Html ,那通过这个示例你可以更好的了解 Vuejs + Html 的使用。在介绍之前先看一下效果: 可以通过访问 http://adminui.beetlex.io/ 查看在线演示. 在开发过程中虽然没有和Webpack,不过模式还是遵循组件化方式进行处理;通过这个示例让不想使用Webpack的开发人员可以使用另一种途径来进行开发 Vue 前端应用。 首页 这种模式没有app.js,取而代之的是一个 index.html ,这个页面主要是用于描述界面的主体布局,具体如下: <div id="page"> <main_menu @menu_resize="OnMenuResize($event)" @openwindow="OnOpenWindow($event)"></main_menu> <windows_bar :windows="windows" :full="full" :selectwindow="selectWindow.id" @openwindow="OnOpenWindow($event)" @close=

BeetleX之web文件上传和续传

こ雲淡風輕ζ 提交于 2019-12-22 20:49:21
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> 在web应用中上传文件是很普遍功能,但传统方式上传大文件比较麻烦一些,毕竟过程中一但网络出现异常就很容易导致文件上传失败又需要重新开始。在这里介绍一下BeetleX的web文件上传功能,它的特点就是支持断线续传,当网络异常恢复后组件可以继续后面内容的传输;这功能并不需要单独安装什么插件,只要浏览器支持 HTML5 即可以支持这一功能。接下来通过一个示例来介绍如何实现一个支持多文件,断线续传和拖放的web文件上传功能。 功能界面 首先我们先看一下这个示例的完整功能 以上功能包括选择文件和拖放文件上传,并支持断线后在不关闭浏览器的情况自动恢复上传. 实现 由于经过 beetlex 的封装,完成以上功能的代码只需要几行代码即可实现,可以说和传统 jquery 上传还要简单。 <body> <div id="page"> <page-header> </page-header> <div class="container" style="margin-top:60px;"> <div class="row"> <form> <div class="form-group"> <input ref="upload" @change="onUpload" type="file" multiple> </div> </form

Winform/WPF中内嵌BeetleX的HTTP服务

谁说胖子不能爱 提交于 2019-12-22 14:02:38
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> 在新版本的 BeetleX.FastHttpApi 加入了对 netstandard2.0 支持,如果程序基于.NetFramework4.6.1来构建WinForm或WPF桌面程序的情况下可以直接把BeetleX的HTTP嵌入到程序中,轻易就能实现一个本地化的HTTP服务并提供静态资源和WebAPI的调用处理;以下简单地介绍在WinForm/WPF引入 BeetleX.FastHttpApi 的HTTP服务。 引用Beetlex 组件在 1.4.5.8 版本后加入了对 netstandard2.0 的支持,只需要在Nuget上添加这个或更高版的 BeetleX.FastHttpApi 即可 添加代码 只需要几行代码即可在程序中添加HTTP服务 private BeetleX.FastHttpApi.HttpApiServer mHttpApiServer; private void Form1_Load(object sender, EventArgs e) { SetIE(); mHttpApiServer = new BeetleX.FastHttpApi.HttpApiServer(); mHttpApiServer.Register(typeof(Form1).Assembly);

BeetleX之快速构建Web多房间聊天室

北城以北 提交于 2019-12-22 13:46:51
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> 其实构建一个 Web 多房间聊天室也并不是什么困难的技术,借助于 websocket 就可以轻松实现多用户在线实时通讯交互;在这里主要介绍一下在 BeetleX 和 BeetleXjs 的支持下如何让这个功能实现的更简单和高效。接下来通过使用 BeetleX 来一步步讲解Web多房间聊天室的具体实现。 信息逻辑 既然是多房间聊天室那它具备两个主要元素,分别是用户和房间;下面通过类来描述这两个元素: 用户 public class User { public string Name { get; set; } public string Address { get; set; } [JsonIgnore] public ISession Session { get; set; } [JsonIgnore] public Room Room { get; set; } public void Send(BeetleX.FastHttpApi.WebSockets.DataFrame frame) { frame.Send(Session); } public void Exit() { Room?.Exit(this); } } 信息描述比较简单主要包括信息用:名称,会话和房间;涉及的行为有发送信息和退出房间。

使用CodeBenchmark对逻辑代码进行并发测试

送分小仙女□ 提交于 2019-11-28 19:29:04
一直对性能测试比较感兴趣,所以也写了不少的测试工具有 WebApiBenchmark 和 TcpBenchmark 等;但这些工具测试都是有针对性和配置的方式来进行功能有限所以很难适用更多的场景,所以单独开发一个组件 CodeBenchmark 来解决不同业务代码下的性能测试;严格来说 CodeBenchmark 并不算一个完整的测试工具,它提供一个测试管理功能和测试环境,可以对实现某一规则业务代码进行一个并发测试并提供一个最终的测试结果.以下主要介绍如何使用 CodeBenchmark . 环境要求 CodeBenchmark 是基于 netstandard2.0 开发,适用于支持这一版本的 .net core 和 .net framework 环境;运行系统则看情况需要可部署到 linux 或 windows ,开发语言 c# . 构建测试项目 可以通过 vs 或 vscode 构建一个控制台项目然后引用组件(引用最新版本的 BeetleX.CodeBenchmark ) Install-Package BeetleX.CodeBenchmark -Version 0.6.2 引用组件后就可以编写具体的测试用例,测试用例编写必须符合组件测试要求,所以需要实现一个接口来编写测试代码,接口描述如下: public interface IExample:IDisposable {