window+vs2015+mosquitto+websockets 编译&使用

Windows平台

  • 准备模块:

  • 过程

    • 解压,安装pthread 和openssl, pthread 选择的Prebuilt.2,32位版本, openssl1_1_1,32位版本;

    • cmake libwebsocket,如果openssl安装正确,cmake结束会填充openssl的相关环境;

      OPENSSL_APPLINK_SOURCE = %OPENSSL_HOME%/include/openssl/applink.c
      SSL_EAY_DEBUG = %OPENSSL_HOME%/lib/VC/libssl32MDd.lib
      SSL_EAY_RELEASE = %OPENSSL_HOME%/lib/VC/libssl32MD.lib
      LIBCRYPTO_BIN = %OPENSSL_HOME%/bin/libcrypto-1_1.dll
      LIBSSL_BIN = %OPENSSL_HOME%/bin/libssl-1_1.dll
      LIB_EAY_DEBUG = %OPENSSL_HOME%/lib/VC/libcrypto32MDd.lib
      LIB_EAY_RELEASE = %OPENSSL_HOME%/lib/VC/libcrypto32MD.lib
      
    • 编译libsebsockets过程中, vs2015项目属性,告警视作错误选项关闭(/WX-), 源代码中有两个log输出语句无法识别,直接注释掉;

    • 将libwebsockets源码中的include文件夹拷贝到 VS的include文件夹中;

    • 选择win32, MinSizeRel 编译.过程中未遇到错误;

    • cmake mosquitto, 同上指定OPENSSL的相关环境, 指定libwebsockets_DIR,勾选WITH_WEBSOCKETS;

    • 项目属性 (/WX-), 如过无法找到libwebsocket的库路径,在项目属性->链接->输入里指定;

    • 编译无误,生成的exe和dll在未指定输出目录的框下分散在项目目录的对应文件夹下,提到一个文件夹中;

    • 使用Dependencies工具确认是否有缺失的DLL,补全缺失的依赖DLL后,可以直接运行;

  • 使用说明

    • 配置文件
    # 允许匿名登录
    allow_anonymous true
    # 第一个监听的端口
    listener 1088 127.0.0.1
    # 第一个监听端口使用的协议
    protocol mqtt
    # 第二个监听的端口
    listener 1087 127.0.0.1
    # 第二个监听端口使用的协议
    protocol websockets
    
    
    • 测试

      • 进入html文件夹,打开test.html,

      • 浏览器中打开控制台,输入:

        client = new Paho.MQTT.Client("127.0.0.1", Number(1087), "ppp");
        client .connect({})
        

        在网络请求中可以看到mqtt请求已经完成链接(返回状态码:101)

    • 其他

      迁移到其他机器运行时需要先安装VS2015 32位的 runtime enviroment;
      64位的没有测试过,正常编译应该没问题.
      

Linux

网络上有教程,实操过程待补充…
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值