① 如何在微信小程序的websocket上使用mqtt协议

第一步:

参考此库官方说明:https://github.com/mqttjs/MQTT.js#browserify

npm install -g webpack // install webpack

cd node_moles/mqtt

npm install . // install dev dependencies

webpack mqtt.js ./my_mqtt.js --output-library-target commonjs2
第二步:

将生成的my_mqtt.js文件里所有的:

(function() { return this; }())
替换为:

window
第三步:

在my_mqtt.js文件顶部加上代码

var setImmediate = setTimeout;
var clearImmediate = clearTimeout;

var socketOpen = false
var socketMsgQueue = []
function sendSocketMessage(msg) {
console.log('send msg:', typeof msg)
console.log(msg);
if (socketOpen) {
wx.sendSocketMessage({
data: msg
})
} else {
socketMsgQueue.push(msg)
}
}

var document = {
URL: ''
}

var window = {
setTimeout: setTimeout,
clearTimeout: clearTimeout,

WebSocket: function (url) {
console.log('call window WebSocket', arguments)

var ws = {
send: sendSocketMessage,
close: wx.closeSocket,
onopen: null,
onmessage: null,
onclose: null,
onerror: null
}

wx.connectSocket({ url: url })
wx.onSocketOpen(function (res) {
console.log('收到onopen事件:', arguments)

socketOpen = true
for (var i = 0; i < socketMsgQueue.length; i++) {
sendSocketMessage(socketMsgQueue[i])
}
socketMsgQueue = []

ws.onopen && ws.onopen.apply(ws, arguments)
})
wx.onSocketMessage(function (res) {
console.log('收到onmessage事件:', arguments)
console.log(res.data)
ws.onmessage && ws.onmessage.apply(ws, arguments)
})
wx.onSocketClose(function () {
console.log('收到onclose事件:', arguments)
ws.onclose && ws.onclose.apply(ws, arguments)
})
wx.onSocketError(function () {
console.log('收到onerror事件:', arguments)
ws.onerror && ws.onerror.apply(ws, arguments)
})

return ws;
}
}

② 微信小程序配置websocket环境及如何在小程

首先简单介绍一下什么是websocket
一、WebSocket是HTML5出的东西(协议),也就是说HTTP协议没有变化,或者说没关系,但HTTP是不支持持久连接的(长连接,循环连接的不算)
首先HTTP有1.1和1.0之说,也就是所谓的keep-alive,把多个HTTP请求合并为一个,但是Websocket其实是一个新协议,跟HTTP协议基本没有关系,只是为了兼容现有浏览器的握手规范而已,也就是说它是HTTP协议上的一种补充可以通过这样一张图理解

这个就是效果
既然可以使用了,说明环境没问题了,接下来看在小程序如何使用了
我为了方便就用button按钮发起请求了
wxml代码

<button bindtap="websocket" >websocket链接</button>1

js代码

Page({
data:{
path:''
},
onLoad:function(opt){

},
websocket:function(){
var msg="你猜"
var socketOpen=true
wx.connectSocket({
url: 'ws://127.0.0.1:8080/'
})
wx.onSocketOpen(function(res){
wx.sendSocketMessage({
data:msg
})
})
wx.onSocketMessage(function(res) {
console.log(res.data)
})
}
})

注意在微信上用的时候可以先测试一下,然后在服务端加一个返回数据的函数(那个函数就在我发的代码中,但是不在服务端,你们好好看看就会发现的),剩下就没什么可说的,这是最简单的了,如果要深入的说,那是说不完的,好了,不懂可以在下方评论!

③ 如何让微信小程序链接websocket

微信小程序官方提供了基础的websocket API接口,可以和自己的websocket服务器进行通信。虽然有了接口,但websocket服务器需要自己搭建,这并不是一件容易的事情。

可以试试我们的GoEasy,一款第三方的websocket框架服务,很好的支持微信小程序。

使用GoEasy,你无需搭建websocket服务器,通过GoEasy提供的接口,你可以很方便、快捷的将信息发送到任何你的客户端。

具体的使用方法在下面:

  1. 登录自己的微信公众平台

    进入微信公众平台|小程序 -> 设置 -> 开发设置 -> 服务器域名 选项的 socket合法域名项
    添加 goeasy的地址: wx-hangzhou.goeasy.io

  2. 获取 GoEasy SDK

    下载https://cdn.goeasy.io/download/goeasy-1.0.11.js

    import GoEasy from './goeasy-1.0.11';

  3. 初始化 GoEasy 对象

    // 在onLaunch方法里初始化全局GoEasy对象this.globalData.goEasy = new GoEasy({
    host: "hangzhou.goeasy.io", //应用所在的区域地址: 【hangzhou.goeasy.io | singapore.goeasy.io】
    appkey: "my_appkey", //替换为您的应用appkey
    onConnected: function() {
    console.log('连接成功!')
    },
    onDisconnected: function() {
    console.log('连接断开!')
    },
    onConnectFailed: function(error) {
    console.log('连接失败或错误!')
    }});

  4. 小程序端接收消息

    getApp().globalData.goEasy.subscribe({
    channel: "my_channel", //替换为您自己的channel
    onMessage: function (message) {
    console.log("Channel:" + message.channel + " content:" + message.content);
    }});

  5. 小程序端发送消息:

    getApp().globalData.goEasy.publish({
    channel: "my_channel", //替换为您自己的channel
    message: "Hello, GoEasy!" //替换为您想要发送的消息内容});

以上便是在微信小程序中使用websocket的步骤,这里提供一份教程和demo,希望对你有所帮助:网页链接

④ 小程序 支持websocket吗

微信的内置浏览器支持websocket。
1、Android版微信没问题,因为使用的是浏览器内核,不受本身系统浏览器影响。
2、iOS版微信没问题,使用的是Safari浏览器。
3、WindowsPhone版微信没问题,使用的是WP8。
WebSocket浏览器端兼容性对比图:

注:虽然Android4.3及以下系统浏览器都不支持WebSocket,但在微信内置浏览器内核,解决了这一问题。

⑤ 微信小程序websocket在开发者工具可以实时聊天 但是在真机不可以,求解答

需要微信平台管理员扫一扫,如果管理员不在职可以换管理员,或者在后台添加多个管理员,然后授权就多了,就不一定非要第一管理员给权限!

⑥ 小程序支持websocket么

的内置浏览器支持websocket。1、Android版 没问题,因为使用的是浏览器内核,不受本身系统浏览器影响。2、iOS版 没问题,使用的是Safari浏览器。3、WindowsPhone版 没问题,使用的是WP8。WebSocket浏览器端兼容性对比图:注:

⑦ 微信小程序 websocket sockettask

微信小程序,简称CX,是一种不需要下载安装即可使用的应用。微信小程序可以帮助开发者快速的开发小程序,微信小程序可以在微信内被便捷地获取和传播;是一种不需要下载安装即可使用的应用小程序,和原有的三种公众号是并行的体系。2017年6月14日小程序新推星标功能。小程序、订阅号、服务号、企业号是并行的体系。

⑧ 微信小程序websocket和php通信

普通弄过nginx或者apache运行php的cgi、mod_php模式是不适合作为socket服务端的,你需要使用cli模式运行(就是直接专在shell里面执行php server.php)属
可以使用Workerman框架或者swoole扩展来开发,推荐使用Workerman更简单,socket操作都封装好了,至于这两个东西网上资料比较多,你可以查一下

⑨ 如何在微信小程序的websocket上使用stomp协议

var socketOpen = false
var socketMsgQueue = []
function sendSocketMessage(msg) {
console.log('send msg:')
console.log(msg);
if (socketOpen) {
wx.sendSocketMessage({
data: msg