微信小程序实时聊天WebSocket

网友投稿 489 2023-01-26


微信小程序实时聊天WebSocket

本文实例为大家分享了微信小程序实时聊天WebSocket的具体代码,供大家参考,具体内容如下

1.所有监听事件先在onload监听。

// pages/index/to_news/to_news.js

var app = getApp();

var socketOpen = false;

var SocketTask = false;

var url = 'ws://192.168.0.120:7011';

Page({

data: {

inputValue: '',

returnValue: '',

},

onLoad: function (options) {

},

onReady: function () {

// 创建Socket

SocketTask = wx.connectSocket({

url: url,

data: 'data',

header: {

'contenhttp://t-type': 'application/json'

},

method: 'post',

success: function (res) {

console.log('WebSocket连接创建', res)

},

fail: function (err) {

wx.showToast({

title: '网络异常!',

})

console.log(err)

},

})

if (SocketTask) {

SocketTask.onOpen(res => {

console.log('监听 WebSocket 连接打开事件。', res)

})

SocketTask.onClose(onClose => {

console.log('监听 WebSocket NMpkkwPGk连接关闭事件。', onClose)

})

SocketTask.onError(onError => {

console.log('监听 WebSocket 错误。错误信息', onError)

})

SocketTask.onMessage(onMessage => {

console.log('监听WebSocket接受到服务器的消息事件。服务器返回的消息', onMessage)

})

}

},

// 提交文字

submitTo: function (e) {

let that = this;

that.data.allContentList.push({that.data.inputValue });

that.setData({

allContentList: that.data.allContentList

})

vNMpkkwPGkar data = {

text: that.data.inputValue

}

if (socketOpen) {

// 如果打开了socket就发送数据给服务器

sendSocketMessage(data)

}

},

bindKeyInput: function (e) {

this.setData({

inputValue: e.detail.value

})

},

onHide: function () {

SocketTask.close(function (close) {

console.log('关闭 WebSocket 连接。', close)

})

},

})

//通过 WebSocket 连接发送数据,需要先 wx.connectSocket,并在 wx.onSocketOpen 回调之后才能发送。

function sendSocketMessage(data) {

console.log('通过 WebSocket 连接发送数据')

if (socketOpen) {

SocketTask.send({data: JSON.stringify(data)

}, function (res) {

console.log('已发送', res)

})

} else {

socketMsgQueue.push(msg)

}

}

html


版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:详解在Vue中使用TypeScript的一些思考(实践)
下一篇:用Node提供静态文件服务的方法
相关文章

 发表评论

暂时没有评论,来抢沙发吧~