微信小程序开发——websocket测试
Posted Rogn
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了微信小程序开发——websocket测试相关的知识,希望对你有一定的参考价值。
服务端
在windows下执行 node server.js
也可参照我的前一篇部署https
var httpServ = require(\'http\') var WebSocketServer = require(\'ws\').Server; var app = httpServ.createServer().listen(8080); var ws = new WebSocketServer({ server: app }); ws.on(\'connection\', function(wsConnect) { wsConnect.on(\'message\', function(message) { console.log(message); wsConnect.send(\'reply\'); }); wsConnect.on(\'close\', function (code, reason) { console.log(\'关闭连接\', code, reason) }); wsConnect.on(\'error\', function (code, reason) { console.log(\'异常关闭\', code, reason) }); })
客户端
这里介绍两种客户端,一种是微信小程序,一种是html网页。
微信小程序
代码示例:
xxx.wxml
<button bindtap=\'startClick\'>连接</button> <button bindtap=\'sendClick\'>发送</button> <button bindtap=\'closeClick\'>断开</button>
xxx.js
Page({ /** * 页面的初始数据 */ data: { isConnect: null, }, startClick(even) { wx.connectSocket({ url: \'ws://localhost:8080/\', method: \'GET\', success: (res) => { isConnect: true console.log("连接成功", res) }, fail: (res) => { isConnect: false console.log("连接失败", res) } }); wx.onSocketOpen((res) => { console.log(\'WebSocket连接已打开!\') }); wx.onSocketError((res) => { console.log(\'WebSocket连接打开失败,请检查!\') }) }, sendClick: function (even) { wx.sendSocketMessage({ data: "From微信小程序 web socket" }) }, closeClick(even) { wx.closeSocket({ success: (res) => { console.log("关闭成功...") }, fail: (res) => { console.log("关闭失败...") } }); wx.onSocketClose((res)=> { console.log("WebSocket连接已关闭") }) }, /** * 生命周期函数--监听页面加载 */ onLoad(options) { wx.onSocketMessage((res) => { console.log(res.data) console.log(res) }) } })
效果截图:
网页
<!doctype html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="initial-scale=1.0, maximum-scale=1.0, user-scalable=no" /> <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1" /> <title>WebSocket</title> <link href="https://cdn.bootcss.com/bootstrap/3.3.7/css/bootstrap-theme.min.css" rel="stylesheet"> <link href="https://cdn.bootcss.com/bootstrap/3.3.7/css/bootstrap.min.css" rel="stylesheet"> <style> body{ width: 96%; margin-left: 2%; margin-top: 20px; } </style> </head> <body> <div class="btn-group box" role="group" aria-label="..."> <button type="button" class="btn btn-default">Oppo</button> <button type="button" class="btn btn-default">Vivo</button> <button type="button" class="btn btn-default">Apple</button> </div> <div class="page-header"> <h4 class="info">服务器返回信息列表:</br></br></h4> </div> <script src="https://cdn.bootcss.com/jquery/3.2.1/jquery.js"></script> <script src="https://cdn.bootcss.com/bootstrap/3.3.7/js/bootstrap.min.js"></script> <script> if (window.WebSocket) { var ws = new WebSocket(\'ws://127.0.0.1:8080\'); ws.onopen = function () { console.log(\'连接服务器成功!\'); ws.send(\'startting...\'); } ws.onclose = function () { console.log(\'服务器关闭\'); } ws.onerror = function () { console.log("连接出错"); } ws.onmessage = function (e) { document.querySelector(".box").onclick = function (e) { ws.send(\'当前点击框的内容为:<font style="color:red;" >\' + e.target.innerHTML+\'</font>\'); } $(\'.info\').append(e.data + \'</br></br>\'); } } </script> </body> </html>
参考链接:
1. https://blog.csdn.net/potato512/article/details/79991342
2. https://blog.csdn.net/medivhq/article/details/75021382
以上是关于微信小程序开发——websocket测试的主要内容,如果未能解决你的问题,请参考以下文章
微信小程序开发--模板(template)使用,数据加载,点击交互