① 如何在微信小程序的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