模拟websocket推送消息服务mock工具二

在上一篇博文中有提到《使用electron开发一个h5的客户端应用创建http服务模拟后端接口mock》使用electron创建一个模拟后端http接口的工具mock,在通常情况下,这已经足够大多数的应用场景,但还是不够,作为一个模拟工具,不能模拟后端socket推送怎么行呢,请把我的工具与那些纯静态的模拟服务区别开来,我做的是一个能够减少前端开发工作量的东西,而不是一个单元测试工具。

在websocket上面,nodejs比较有名气的就是socket.iows了,它们之间谁优谁劣,我不作评价了,因为只是做他的模拟服务,所以在工具中,我不作过多的限制,可以先看下这一版本的mock的主界面:

主界面中提供了两种推送服务:socket和ws,分别对应着socket.io和websocket/ws两种表现形式。添加配置和http服务类似:

作为一个推送服务,它完成下面这些功能

  1. 推送消息的频率
  2. 一个可变化的值。
  3. 可以依次推送消息,所以可以推多条消息
  4. 可以关闭、打开推送

所以它的界面如下:

添加完成后,再回到主界面,我们就可以启动推送服务了,这里需要注意的是,socket.io的服务我是直接放在http上的,所以需要先启动http服务再启动socket服务,ws是一个独立的端口号。效果如下:

他们调用的方式也不一样。socket.io的调用方式更直接,可以参考文档,目录都是以message事件为准。

//socket.io的调用
socket = io.connect('http://localhost:8080');
socket.emit('message', '测试成功!');
socket.on('message', function (data) {
$('#sctips').html(data);
});
//ws服务的调用
const ws = new WebSocket('ws://localhost:8090/ws');
ws.on('message', function incoming(data) {
  $('#wstips').html(data)
});

这样我们就可以在前端中模拟socket服务了,也可以当作一个优化工具,把频率改到很高,测试网页在高频率的刷新下的执行效率。注意,每次配置的修改都需要重启一下服务。

另外,这次其实是两次版本的更新,除了更新了模拟websocket推送外,还添加了一个新的工具,创建本地http站点,他可以随意的选择本机的文件夹作为站点目录,如下图所示:

然后点击右侧的本地站点,即可以创建一个http://localhost:8000的本地静态映射站点。

简单好用,并且直观,最后,我们再展望下下个版本吧,可以实现文件打包压缩功能,先做sass和less的编译吧。

最后,放下mock工具的几个下载地址:

https://tianxiangbing.github.io/mock/updates/mock.exe

或者http://www.lovewebgames.com/app/mock/mock.exe

或者绿化版本 http://www.react-cn.com/app/mock/mock.rar

如果有用的话,就给作者github一颗小星星吧!

模拟websocket推送消息服务mock工具二的更多相关文章

  1. GoEasy实现websocket 推送消息通知到客户端

    最近在实现一个推送功能,用户扫描二维码签到,后台及时将签到成功信息推送到浏览器端.排除了前端ajax轮询的方式,决定采用websocket及时推送. 于是发现了第三方websocket推送库GoEas ...

  2. 免注册公众号的三种微信推送消息服务的C#代码实现

    有时候我们需要监控一些网络上的变化,但是每次去刷新网页却又很麻烦,而且大部分刷新的时候网页并没有更新.那么有没有一个工具,可以监控网页变化,并将变化的结果推送到手机微信上呢? 这里有很多应用场景,比如 ...

  3. 小程序推送消息(Template)

    最近搞小程序模拟推送消息,才发现小程序推送消息接口准备下线. 请注意,小程序模板消息接口将于2020年1月10日下线,开发者可使用订阅消息功能 咱们现在有需求,所以不管下不下,完成再说. 一:”获取a ...

  4. spring集成webSocket实现服务端向前端推送消息

    原文:https://blog.csdn.net/ya_nuo/article/details/79612158 spring集成webSocket实现服务端向前端推送消息   1.前端连接webso ...

  5. 结合实际需求,在webapi内利用WebSocket建立单向的消息推送平台,让A页面和服务端建立WebSocket连接,让其他页面可以及时给A页面推送消息

    1.需求示意图 2.需求描述 原本是为了给做unity3d客户端开发的同事提供不定时的消息推送,比如商城购买道具后服务端将道具信息推送给客户端. 本篇文章简化理解,用“相关部门开展活动,向全市人民征集 ...

  6. Spring Boot 集成 WebSocket 实现服务端推送消息到客户端

    假设有这样一个场景:服务端的资源经常在更新,客户端需要尽量及时地了解到这些更新发生后展示给用户,如果是 HTTP 1.1,通常会开启 ajax 请求询问服务端是否有更新,通过定时器反复轮询服务端响应的 ...

  7. 用JPUSH极光推送实现服务端向安装了APP应用的手机推送消息(C#服务端接口)

    这次公司要我们做一个功能,就是当用户成功注册以后,他登录以后要收到消息,当然这个消息是安装了我们的手机APP应用的手机咯. 极光推送的网站的网址是:https://www.jpush.cn/ 极光推送 ...

  8. 我写的websocket推送例子,每隔5秒服务器向客户端浏览器发送消息(node.js和浏览器)

    node.js服务端 先要安装ws模块的支持 npm install ws 服务端(server.js) var gws; var WebSocketServer = require('ws').Se ...

  9. 使用极光推送(www.jpush.cn)向安卓手机推送消息【服务端向客户端主送推送】C#语言

    在VisualStudio2010中新建网站JPushAndroid.添加引用json帮助类库Newtonsoft.Json.dll. 在web.config增加appkey和mastersecret ...

随机推荐

  1. Flex布局及其应用

    什么是弹性盒子? 弹性盒子是 CSS3 的一种新的布局模式.相对于传统的依赖于display+position+float的布局方式,弹性盒子更加以有效的方式来对一个容器中的子元素进行排列.对齐和分配 ...

  2. exits, in, left join性能比较

    exits  in left join性能比较 ,笔者使用的是MYSQL数据库,这三个关键字方法在其他的关系数据库里也是大同小异,如果各种有兴趣,自行比较. 我这里有一个249_account 表,总 ...

  3. BZOJ 3171 循环格 最小费用流

    题目链接: https://www.lydsy.com/JudgeOnline/problem.php?id=3171 题目大意: 一个循环格就是一个矩阵,其中所有元素为箭头,指向相邻四个格子.每个元 ...

  4. Python 3 实现定义跨模块的全局变量和使用

    尽管某些书籍上总是说避免使用全局变量,但是在实际的需求不断变化中,往往定义一个全局变量是最可靠的方法,但是又必须要避免变量名覆盖. Python 中 global 关键字可以定义一个变量为全局变量,但 ...

  5. numpy的操作

    import numpy as np ######################## # 索引 n1 = np.random.randint(0, 100, 10) # print(n1) ''' ...

  6. Hadoop学习之路(十)HDFS API的使用

    HDFS API的高级编程 HDFS的API就两个:FileSystem 和Configuration 1.文件的上传和下载 package com.ghgj.hdfs.api; import org ...

  7. 使用阿里云的maven仓库

    在maven的settings.xml文件里的mirrors节点,添加如下子节点: <mirror> <id>nexus-aliyun</id> <mirro ...

  8. 多线程之并发容器ConcurrentHashMap

    这部分内容转载自: http://www.haogongju.net/art/2350374 JDK5中添加了新的concurrent包,相对同步容器而言,并发容器通过一些机制改进了并发性能.因为同步 ...

  9. dbcp最终版本

    注意:我们在使用有参的queryrunner的时候,不需要关闭connection和DataSource 这些都queryrunner 都替我们完成.我们不需要关系资源释放. 工具类: package ...

  10. 如何在C#程序中模拟域帐户进行登录操作 (转载)

    .NET Core .NET Core也支持用PInvoke来调用操作系统底层的Win32函数 首先要在项目中下载Nuget包:System.Security.Principal.Windows 代码 ...