mosquitto1.4 websocket js客户端测试

首先先上个效果图:

端口跟地址自己修改,可以在config.js里面配置后再html里面去调用。

html的代码:

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
  <head>
    <title>Mosquitto Websockets</title>
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <script src="mqttws31.js" type="text/javascript"></script>
    <script src="jquery.min.js" type="text/javascript"></script>
    <script src="config.js" type="text/javascript"></script>

    <script type="text/javascript">
    var mqtt;
    var reconnectTimeout = 2000;

    function MQTTconnect() {
        mqtt = new Paho.MQTT.Client(
                        "服务器地址",
                        9001,
                        "web_" + parseInt(Math.random() * 100,
                        10));
        var options = {
            timeout: 3,
            useSSL: useTLS,
            cleanSession: cleansession,
            onSuccess: onConnect,
            onFailure: function (message) {
                $('#status').val("Connection failed: " + message.errorMessage + "Retrying");
                setTimeout(MQTTconnect, reconnectTimeout);
            }
        };

        mqtt.onConnectionLost = onConnectionLost;
        mqtt.onMessageArrived = onMessageArrived;

        if (username != null) {
            options.userName = username;
            options.password = password;
        }
        console.log("Host="+ host + ", port=" + port + " TLS = " + useTLS + " username=" + username + " password=" + password);
        mqtt.connect(options);
    }

    function onConnect() {
        $('#status').val('Connected to ' + host + ':' + port);
        // Connection succeeded; subscribe to our topic
        mqtt.subscribe(topic, {qos: 0});
        $('#topic').val(topic);
    }

    function onConnectionLost(response) {
        setTimeout(MQTTconnect, reconnectTimeout);
        $('#status').val("connection lost: " + responseObject.errorMessage + ". Reconnecting");

    };

    function onMessageArrived(message) {

        var topic = message.destinationName;
        var payload = message.payloadString;

        $('#ws').prepend('<li>' + topic + ' = ' + payload + '</li>');
    };

 	function button_onclick(){
		  //这里写你要执行的语句
		var tp = $('#sendtopic').val();
		var val = $('#textsend').val();
		if(tp==''||val=='')
		{
			alert("no aaa");
			return;
		}
		var message = new Paho.MQTT.Message(val);
		message.destinationName = tp;
		message.qos=0;
		mqtt.send(message);
//		mqtt.publish(tp, 0, val);
        $('#ws').prepend('<li>' + tp + ' = ' + val+ '</li>');
	};

    $(document).ready(function() {
        MQTTconnect();
    });

    </script>
  </head>
  <body>
    <h1>Mosquitto Websockets</h1>
    <div>
        <div>Subscribed to <input type='text' id='topic' disabled />
        Status: <input type='text' id='status' size="80" disabled />
		</br>
		publish to <input type='text' id='sendtopic' /> text <input type='text' id='textsend' size="80"/>
        Status: <input type='button' value="send" id='btn' onclick="javascript:button_onclick()"/></div>
	    <ul id='ws' style="font-family: 'Courier New', Courier, monospace;"></ul>
    </div>
  </body>
</html>

算了 还有几个js 直接打包吧:http://download.csdn.net/detail/a358763471/8491993

时间: 2024-10-08 21:30:34

mosquitto1.4 websocket js客户端测试的相关文章

[Python]通过websocket与js客户端通信

网站大多使用HTTP协议通信,而HTTP是无连接的协议.只有客户端请求时,服务器端才能发出相应的应答,HTTP请求的包也比较大,如果只是很小的数据通信,开销过大.于是,我们可以使用websocket这个协议,用最小的开销实现面向连接的通信. 具体的websocket介绍可见http://zh.wikipedia.org/wiki/WebSocket 这里,介绍如何使用Python与前端js进行通信. websocket使用HTTP协议完成握手之后,不通过HTTP直接进行websocket通信.

WebSocket桌面客户端工具

考虑到WebSocket的诸多优点和未来的趋势,去年底把服务端通讯全部由HTTP改成WebSocket,期间为了方便测试,做了这个小工具.共享出来以方便有同样需求的程序员. 下载的压缩包里含有源代码和编译好的执行程序,今天用Java 8重新编译了一次,需要JRE 8执行环境. 使用起来很简单,输入URL,点连接. 上方文本框显示最近收到消息,下发输入发送消息. 源代码也很简单,一看就懂,主要用Tyrus实现WebSocket客户端. 下载地址 WebSocket桌面客户端工具

Lync 2010 标准版之Lync客户端测试(六)

我们新建2个虚拟机,来模块两个客户端用户,来测试我们lync之间对话. 1 首先在域中建2个测试用户, 2 分别用这两个用户登陆 3 如果2个虚拟机在域里,则直接登陆,如果2个虚拟机是非域环境,必须导入根证书,然后就可以登陆了 登录所需的时间很短,但具体还是取决于我们的机器性能,包括客户端虚机和服务端虚机,可能第一次登录时间会稍微长一点,这也是因为我们使用了自动配 置,也就是Lync客户端会自动的在域中查找Lync服务器,当然这一切是基于SRV记录来实现的,如果我们的SRV记录出错,我们则会看到

简单设置openvpn服务器,win xp客户端centos客户端测试;

拓扑图: 通过vpn实现远程客户端访问服务器内网: 服务器 IP 备注 centos6.6 (openvpn-server) 192.168.10.64  centos6.6 (client) 192.168.10.66 windows xp (client) 192.168.10.69 一.openvpn服务器配置 [[email protected]~]# vim /etc/sysctl.conf net.ipv4.ip_forward= 1    # 把0改成1,开启服务器端路由转发功能

WebSocket安卓客户端实现详解(一)–连接建立与重连

http://blog.csdn.net/zly921112/article/details/72973054 前言 这里特别说明下因为WebSocket服务端是公司线上项目所以这里url和具体协议我全部抹去了,但我会尽力给大家讲明白并且demo我都是测试过,还望各位看官见谅 我们先粗犷的讲下流程,掌握个大概的方向,然后在深入讲解细节的实现.这里先解答一个疑惑,为啥我们这要用WebSocket而不是Socket呢,因为WebSocket是一个应用层协议很多东西都规定好了我们直接按他的规定来用就好

淘宝分布式 key/value 存储引擎Tair安装部署过程及Java客户端测试一例

目录 1. 简介 2. 安装步骤及问题小记 3. 部署配置 4. Java客户端测试 5. 参考资料 声明 1. 下面的安装部署基于Linux系统环境:centos 6(64位),其它Linux版本可能有所差异. 2. 网上有人说tair安装失败可能是因为gcc版本问题,高版本的gcc可能不支持某些特性导致安装失败,经过实验证明,该说法是错误的,tair安装失败有各种可能的原因但绝对与gcc版本无关,比如我的gcc开始版本为4.4.7,后来tair安装失败,我重新编译低版本的gcc(gcc4.1

node.js 安装 测试

2014年5月1日 18:48:01 安装: 系统是centos,里边的python版本是2.4,但是node.js 源码tar包安装要求是 2.6 或者 2.7 下载python 2.7编译安装,注意,可以不卸载原有系统中的python,编译安装2.7时,默认安装,不要在配置时指定安装路径 默认安装的时候,2.7会自动改写软连接将/usr/local/bin/python 指向2.7 这样安装node.js的时候就会使用python2.7的程序了 ------------------- 测试:

DNS客户端测试工具详解

由于DNS是用户接入互联网必须设置的,这里就以CentOS系统为例介绍DNS客户端的设置. 一.相关配置文件 我们知道,从主机名到IP的映射有两种方法,一种是把主机名和其对应的IP地址记录在hosts文件中,这是早期的方法.第二种方法是通过DNS服务器经过层级解析实现主机名到对应的IP地址的映射.这两种方法至今仍在系统上被采用,那么当用户需要解析主机名时,是先查找hosts文件而后再通过DNS架构解析呢?还是先进行DNS解析?它们的优先级如何?我们先看看相关的配置文件吧. /etc/hosts:

WebSocket安卓客户端实现详解(三)–服务端主动通知

WebSocket安卓客户端实现详解(三)–服务端主动通知 本篇依旧是接着上一篇继续扩展,还没看过之前博客的小伙伴,这里附上前几篇地址 WebSocket安卓客户端实现详解(一)–连接建立与重连 WebSocket安卓客户端实现详解(二)–客户端发送请求 终于是最后一篇啦,有点激动\ ( ≧▽≦ ) /啦啦啦, 服务端主动通知 热身完毕,我们先回顾下第一篇中讲到的服务端主动通知的流程 根据notify中事件类型找到对应的处理类,处理对应逻辑. 然后用eventbus通知对应的ui界面更新. 如果