微信小程式和伺服器通訊-WebSocket
https://segmentfault.com/a/1190000007546303
本文主要講一下如何建立一個基於node.js的WebSocket伺服器,並在小程式中使用這個提供實時服務的伺服器。
node.js中已經有很多現成的第三方庫,用於構建WebSocket服務。我們今天選用一個叫做websocket的庫,來構建一個可以提供標準WebSocket介面的node.js服務端程式。
先建一個空資料夾,名叫ws-server,然後進入該資料夾,在命令列執行:
npm install websocket
然後在ws-server資料夾下,再新建一個名為app.js的檔案,內容如下:
因為WebSocket服務是建立在HTTP之上的,所以我們看到,程式碼中建立了一個http server, 然後建立了一個使用了該http server的WebSocket server,並讓http server監聽8080埠對外提供服務。
這個服務端的功能也很簡單,就是收到客戶端傳送的訊息並列印出來,然後在接收到的訊息前面加上一個[from server]的字首後,返回給客戶端。
好,我們來實現呼叫該服務的微信小程式程式碼:
首先我們需要用wx.connectSocket()方法去連線目標伺服器,因為我們開發環境用的是非安全的http,所以這邊的url引數是ws://打頭的,在以後微信的實際執行環境中,你的服務端必須使用SSL,所以連線url就會是wss://的了。
然後需要呼叫wx.onSocketOpen()方法來設定WebSocket連線開啟時的回撥函式。當連線開啟後,就可以開始向服務端傳送資料了,我們在這裡使用wx.sendSocketMessage()方法,向服務端傳送了一個後面跟隨一個隨機數的Hello,World字串。我們執行一下程式,可以看到,服務端的控制檯上會列印出這樣的結果:
說明服務端已經成功接收到了客戶端傳送的字串訊息。
之後服務端會向客戶端再反饋這個訊息,那客戶端這邊如何接收這個從服務端過來的訊息呢?我們可以在小程式中,使用wx.onSocketMessage()方法,監聽服務端傳送到客戶端的訊息,正如我們上面的示例程式碼寫的那樣:
wx.onSocketMessage(function (msg) {
console.log(msg)
})
我們在小程式的Console上,簡單的列印了從服務端過來的訊息,如下所示:
這樣,一個簡單但完整的客戶端和伺服器端的WebSocket互動就完成了。如果你想關閉這個WebSocket連線,那麼你可以呼叫wx.closeSocket()來進行關閉。
相關文章
- 小程式元件-仿微信通訊錄元件
- Laravel + 微信小程式 websocket 搭建廣播訊息系統Laravel微信小程式Web
- 微信小程式websocket聊天室微信小程式Web
- WebSocket通訊Web
- 微信小程式實現WebSocket心跳重連微信小程式Web
- websocket通訊原理Web
- 基於WebSocket的modbus通訊(三)- websocket和串列埠Web串列埠
- 基於WebSocket的modbus通訊(一)- 伺服器Web伺服器
- Tcp, WebSocket 和 http 之間的通訊TCPWebHTTP
- 如何在微信小程式中實現音視訊通話微信小程式
- Android小知識-利用OkHttp實現WebSocket通訊AndroidHTTPWeb
- 縱橫開闔-微信小程式之通訊錄全攻略微信小程式
- 微信小程式播放音訊列表微信小程式音訊
- 雙向通訊之websocketWeb
- 微信小程式多頁面傳參通訊的探索與實踐微信小程式
- golang寫的即時通訊伺服器gim,支援TCP,WebSocketGolang伺服器TCPWeb
- 怎麼認證微信小程式-微信小程式開發-視訊教程2微信小程式
- 微信小程式模板訊息詳解微信小程式
- angular + express 實現websocket通訊AngularExpressWeb
- 全雙工通訊的 WebSocketWeb
- Python3 websocket通訊PythonWeb
- 使用Java實現WebSocket通訊JavaWeb
- 小程式即時通訊demo
- ios微信小程式 BLE藍芽通訊開發介面UI卡頓問題iOS微信小程式藍芽UI
- 微信小程式怎麼開通,小程式頁面如何開發微信小程式
- 花店小程式:如何開通製作鮮花店的微信小程式?微信小程式
- 小程式名稱可以和公眾號同名-微信小程式開發-視訊教程5微信小程式
- 怎麼免費註冊微信小程式-微信小程式開發-視訊教程1微信小程式
- 微信小程式開發–視訊教程系列微信小程式
- 微信小程式開發(十七)模板訊息微信小程式
- 小程式音訊和視訊音訊
- WebRTC + WebSocket 實現視訊通話Web
- WebSocket實現前後端通訊Web後端
- 微信小程式API+微信支付 微信開發/微信商城/電商微商小程式-陳世平-專題視訊課程...微信小程式API
- 微信小程式初體驗,入門練手專案--通訊錄,後臺是阿里雲伺服器(一)微信小程式阿里伺服器
- 微信小程式幽默風和git微信小程式Git
- 微信小程式開發之大神之路最全微信小程式開發教程(視訊+精品文章)微信小程式
- JAVA通訊(二)——實現客戶機和伺服器通訊Java伺服器