小程序之 websocket 的使用
闲余幽梦关注
0.1032018.05.28 23:28:15 字数 1,162 阅读 14,475
最近工作中需要实现在小程序中的玩家对战功能,因此需要使用 websocket 来
实现用户之间的数据传递和实时对战功能。随笔主要记录自己工作中使用
websocket 遇到的问题和解决方法。
onSocketMessage 使用
在 wepy.page 创建的当前页面中通过使用 onSocketMessage 来对服务端 socket 的返
回进行监听,但当我在另一个页面中通过 sendSocketMessage 发送数据时发现,原
先运行后的 onSocketMessage 监听一直存在,并不会随着页面的跳转消失。如:
// 页面一
wepy.onSocketMessage(function(res) {
console.log('组件收到内容:' + res.data)
})
// 页面二
wepy.sendSocketMessage(function(res) {
data: JSON.stringify(data) // data 为传送的数据
})
测试发现当页面跳转到页面二进行触发的时候,页面一的监听结果打印出来
了。即在开发不同的页面时,需要在当前页面写 onSocketMessage 来进行监听,
覆盖之前其他页面中的 onSocketMessage(一般性当前页面用到 sendSocketMessage
自然也会用到 onSocketMessage,所以也不会存在什么问题)。但当
onSocketMessage 和 SocketTask 进行混合使用的时候就需要小心了。
SocketTask
SocketTask 即 WebSocket 任务,可通过 wepy.connectSocket()接口创建返
回,如:
评论0