当前位置:   article > 正文

Vue使用WebSocket实现在线聊天_vue3的js怎么使用websocket实现在线聊天

vue3的js怎么使用websocket实现在线聊天

1.判断浏览器是否支持WebSocket,发起WebSocket连接

  1. if(typeof(WebSocket) === 'undefined'){
  2. alert("您的浏览器不支持在线聊天")
  3. }else{
  4. //初始化WebSocket
  5. _this.socket = new WebSocket("wss://"+你的地址)
  6. _this.socket.onopen = function(){
  7. console.log("连接成功")
  8. heartCheck.reset().start()
  9. }
  10. }

2.增加心跳检测,并在WebSocket连接成功是调用该方法

  1. let _this = this
  2. var heartCheck = {
  3. timeout:5000,
  4. timeoutObj:null,
  5. reset:function(){
  6. clearInterval(this.timeoutObj)
  7. return this;
  8. },
  9. start:function(){
  10. this.timeoutObj = setInterval(function(){
  11. _this.socket.send('heartbeat')
  12. console.log("给服务器发送:heartbeat")
  13. },this.timeout)
  14. }
  15. }

3.接收到服务器的消息

  1. _this.socket.onmessage = function(event){
  2. console.log("接收到服务器消息:"+event.data)
  3. }

4.关闭时聊天时销毁WebSocket链接

this.socket.close()

完整代码

  1. init(){
  2. if(typeof(WebSocket) === 'undefined'){
  3. alert("您的浏览器不支持在线聊天")
  4. }else{
  5. let _this = this
  6. var heartCheck = {
  7. timeout:5000,
  8. timeoutObj:null,
  9. reset:function(){
  10. clearInterval(this.timeoutObj)
  11. return this;
  12. },
  13. start:function(){
  14. this.timeoutObj = setInterval(function(){
  15. _this.socket.send('heartbeat')
  16. console.log("给服务器发送:heartbeat")
  17. },this.timeout)
  18. }
  19. }
  20. _this.socket = new WebSocket("wss://" + )
  21. _this.socket.onopen = function(){
  22. console.log("连接成功")
  23. heartCheck.reset().start()
  24. }
  25. _this.socket.onmessage = function(event){
  26. console.log("接收到服务器消息:"+event.data)
  27. }
  28. }
  29. }

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/正经夜光杯/article/detail/892330
推荐阅读
相关标签
  

闽ICP备14008679号