美文网首页
使用webSocket,模拟h5聊天

使用webSocket,模拟h5聊天

作者: 子语喵 | 来源:发表于2019-05-09 10:32 被阅读0次
    样式就不多说了吧,相信大家都会搭建的。直接看代码
    export default {
        data() {
            return {
                ws: null, //服务器连接
                chatList:[],//消息列表
            }
        },
        mounted() {
            this.webSocket();
        },
        methods: {
            webSocket() {
                var that = this;
                const supportsWebSockets = "WebSocket" in window || "MozWebSocket" in window; //判断是否支持webSocket
                this.ws = new WebSocket("wss://www.hqbnet.cn:9501/Swool/public/index.php/swool/Websocket/open? + 后台所需的参数");
            
                if (supportsWebSockets) {
                    //建立WebSocket连接(ip地址换成自己主机ip)
                    this.ws.onopen = function () {
                        // alert('服务器连接成功',{shade:0.1,icon:1,time:600});
                    };
                    this.ws.onerror = function () {
                        // alert('服务器连接失败',{shade:0.1,icon:2,time:600});
                    };
                    this.ws.onmessage = function (evt) {
                        if (data.status == 1) { 
                            //接受成功
                                //根据后台返回的值进行判断
                                //做一些成功之后的操做
                                //主要的有dom操作,
                                that.chatList.push('返回的值'); //消息列表
                                setTimeout(() => {  //使之滚动到底部
                                    $("#list")
                                        .children("div:last-child")[0]
                                        .scrollIntoView();
                                }, 100);
                        } else { 
                            //接受失败
                                //要先关闭当前的连接
                                that.ws.close();
                                //重新连接
                                that.webSocket();
                        }
                    };
                }
            },
            //按回车发送
            keywordFun() {
                var db = {
                    //参数
                };
                if ('输入内容' == '') {
                    this.$toast("内容不能为空");
                    return false;
                } else {
                    //调用打发送方法
                    this.ws.send(JSON.stringify(db));
                }
            },
        },
    
    }
    
    

    这样就可以完美的实现聊天的功能,当然后台也是要依赖于webSocket的。

    相关文章

      网友评论

          本文标题:使用webSocket,模拟h5聊天

          本文链接:https://www.haomeiwen.com/subject/esiioqtx.html