模拟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. s = sorted(lst,key= func) # 将列表中的元素一个一个传给func,根据func的返回值进行排序

    排序函数sorted :语法: sorted(iterable,key=func , reverse )key:排序规则(排序函数),在sorted内部将"可迭代对象"中的每一个元 ...

  2. 三元运算符 c = a if a>b else b

    def my(a,b): c = a if a>b else b return c d = my(1,12)print(d)

  3. Java实现数据库操作

    Java实现数据库操作 这里的样例是使用mysql数据库 代码实现 /* MySQLHelper.java */ import java.io.*; import java.util.*; impor ...

  4. virtualbox+vagrant学习-4-Vagrantfile-1-简介

    Vagrantfile Vagrantfile的主要功能是描述项目所需的机器类型,以及如何配置和提供这些机器.之所以称为Vagrantfiles,是因为文件的实际文本文件名是Vagrantfile(除 ...

  5. jdbc java程序连接数据库 案例

    package jdbc; import java.sql.Connection;import java.sql.DriverManager;import java.sql.SQLException; ...

  6. JDBC通过配置文件(properites)读取数据库配置信息

    扫盲: Classloader 类加载器,用来加载 Java 类到 Java 虚拟机中.与普通程序不同的是.Java程序(class文件)并不是本地的可执行程序.当运行Java程序时,首先运行JVM( ...

  7. Kafka设计解析(十四)Kafka producer介绍

    转载自 huxihx,原文链接 Kafka producer介绍 Kafka 0.9版本正式使用Java版本的producer替换了原Scala版本的producer.本文着重讨论新版本produce ...

  8. P2467 [SDOI2010]地精部落

    题目描述 传说很久以前,大地上居住着一种神秘的生物:地精. 地精喜欢住在连绵不绝的山脉中.具体地说,一座长度为N的山脉H可分为从左到右的N段,每段有一个独一无二的高度Hi,其中Hi是1到N之间的正整数 ...

  9. 飞控入门之C语言指针回顾

    指针 何为指针?来个官方定义:指针是一个值为内存地址的变量(或数据对象). 一.指针的声明 //示例 int *pi; //pi是指向int类型变量的指针 char *pc; // pi是指向char ...

  10. 批量生成文件夹内所有文件md5

    说明:md5批量生成批处理脚本,无需安装任何软件,直接调用系统文件进行生成,简单基于windows命令编写了一个批量生成md5值的脚本. 使用说明:新建文本文档,命名为get_md5.bat,直接将代 ...