vue使用webSocket
<input type="text" v-model="inputText"/><span @click="send">发送</span>data () {return {inputText: '', // 获取输入框内容websock: '' // websocket会话};},methods: {...
·
<input type="text" v-model="inputText"/>
<span @click="send">发送</span>
data () {
return {
inputText: '', // 获取输入框内容
websock: '' // websocket会话
};
},
methods: {
send () {
this.readyChat(this.inputText);
},
/* webSocket会话 */
/* 会话过程中实际调用的函数 */
readyChat (data) {
let This = this;
if (this.websock.readyState === 1) { // this.websock.readyState = 1 表示连接成功,可以立即发送信息
this.websocketSend(data);
} else if (this.websock.readyState === 0) { // 表示正在连接,设置300ms后发送信息
setTimeout(function () {
This.websocketSend(data);
}, 300);
} else { // 连接未创建或者创建失败,则重新创建连接,并设置500ms后发送信息
this.websochetInit();
setTimeout(function () {
This.websocketSend(data);
}, 500);
}
},
/* 初始化websochet */
websochetInit () {
this.websock = new WebSocket('ws://*************');
this.websock.onmessage = this.websocketMessage;
},
/* websochet发送信息 */
websocketSend (data) {
this.websock.send(JSON.stringify(data));
},
/* websochet接收服务器返回的信息 */
websocketMessage (e) {
console.log(e);
}
}
更多推荐
已为社区贡献22条内容
所有评论(0)