请选择 进入手机版 | 继续访问电脑版
热门问答
更多

[模块使用] webSocket2018重新连接的demo

[复制链接]
angelshelter 发表于 2020-6-13 16:46:42
  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4.         <meta charset="utf-8">
  5.     <meta name="viewport" content="maximum-scale=1.0,minimum-scale=1.0,user-scalable=0,width=device-width,initial-scale=1.0"/>
  6.     <meta name="format-detection" content="telephone=no,email=no,date=no,address=no">
  7.     <title>title</title>
  8.     <link rel="stylesheet" type="text/css" href="css/api.css"/>
  9.     <style>
  10.             body{
  11.                    
  12.             }
  13.     </style>
  14. </head>
  15. <body id="root" style="padding-top:20px;padding-left:10px;padding-right:10px;">

  16. </body>
  17. <script type="text/javascript" src="script/api.js"></script>
  18. <script type="text/javascript">

  19. var timeTask;
  20. var sendMsgTask;
  21. apiready = function(){

  22.         var webSocket2018 = api.require('webSocket2018');
  23.     webSocket2018.addEventListener(function(ret){
  24.         //alert("event" + JSON.stringify(ret));
  25.         switch(ret.code){
  26.                 case 1:
  27.                         log("已连接");
  28.                         clearInterval(timeTask);
  29.                         sendMsgTask = setInterval(function(){
  30.                                 webSocket2018.send({
  31.                                          "msg": "hello"
  32.                                 });
  33.                         }, 3000)
  34.                         break;
  35.                 case 2:
  36.                         log("收到消息: " + ret.msg);
  37.                         break;
  38.                 case 3:
  39.                         log("连接已关闭");
  40.                         clearInterval(sendMsgTask);
  41.                         timeTask = setInterval(reconnect, 3000)
  42.                         break;
  43.                 case 4:
  44.                         log("发生错误");
  45.                         break;
  46.                 case 5:
  47.                         log("关闭上一个监听");
  48.                         break;
  49.                 default:
  50.                         log("未知。");
  51.         }
  52.     });
  53.     webSocket2018.open({
  54.         "url": "ws://121.40.165.18:8800"
  55.     }, function(ret){
  56.         alert("open" + JSON.stringify(ret));
  57.     });
  58. };
  59. function log(msg){
  60.         var root = $api.byId("root");
  61.         root.append(msg);
  62.         root.append(document.createElement("br"));
  63. }
  64. function reconnect(){
  65.         log("重新连接中...");
  66.         var webSocket2018 = api.require('webSocket2018');
  67.         webSocket2018.open({
  68.         "url": "ws://121.40.165.18:8800"
  69.     }, function(ret){
  70.         //alert("open" + JSON.stringify(ret));
  71.     });
  72. }
  73. </script>
  74. </html>
复制代码


widget.zip 下载附件
2020-6-13 16:46上传5.39 KB下载次数: 702

5条回复

handsix 版主 12770Y币
响应速度~真~~快!
angelshelter 半专业车手 1891Y币
handsix 发表于 2020-6-13 17:22
响应速度~真~~快!

??
raisew 新手上路 67Y币
在后台一段时间后就掉线了。而且重连也连不上 如何处理
angelshelter 半专业车手 1891Y币
raisew 发表于 2020-6-24 17:03
在后台一段时间后就掉线了。而且重连也连不上 如何处理

最后一行是不是打印了 “发生错误”?
raisew 新手上路 67Y币
angelshelter 发表于 2020-6-24 17:21
最后一行是不是打印了 “发生错误”?

没有看见打印 掉线了
您需要登录后才可以回帖 登录

本版积分规则