websocket autobahn jar包的用法
package com.example.administrator.connmanager;import android.content.Context;import android.os.Handler;import android.os.TokenWatcher;import android.util.Log;import java.util.Timer;import java.util.TimerTask;import de.tavendo.autobahn.WebSocketConnection;import de.tavendo.autobahn.WebSocketException;import de.tavendo.autobahn.WebSocketHandler;import de.tavendo.autobahn.WebSocketOptions;/** * @author* @version 1.0 * @date 2016/9/8 0008 */public class ConnManager {private WebSocketConnection mWebSocketConnection;private Timer mTimer;private TimerTask mTimerTask;private WebSocketOptions mWebSocketOptions;private Context mContext;public static List<String> list=new ArrayList<String>(); String uri=null;public ConnManager(Context context,String ipadress,int port){mWebSocketConnection=new WebSocketConnection();mTimer=new Timer();this.uri="ws://"+ipadress+":"+port;mWebSocketOptions=new WebSocketOptions(); setwebsocketoptions();this.mContext=context;
//心跳包,不停地发送消息给服务器mTimerTask=new TimerTask() {@Overridepublic void run() {mWebSocketConnection.sendTextMessage(""); Log.i("yuhan", "连接中。。。。。"); } }; }
//链接服务器端的代码public void connect(){try {mWebSocketConnection.connect(uri, new WebSocketHandler() {@Overridepublic void onOpen() { Log.d("yuhan", "Status: Connected to " + uri); sendHB(); }@Overridepublic void onTextMessage(String payload) { Log.d("yuhan", "Got echo: " + payload);
if(payload.equals("用户刷新-已收到")) {nowdate=System.currentTimeMillis(); }
}@Overridepublic void onClose(int code, String reason) { Log.d("yuhan", "Connection lost."+reason); } },mWebSocketOptions); } catch (WebSocketException e) { Log.d("yuhan", e.toString()); } }
//开启心跳包,每一秒发送一次消息,如果返回lost再重连public void sendHB(){mTimer.schedule(mTimerTask, 1000, 1000);
//每次发送心跳包,服务器接收到响应就会返回一个值,如果查过5s还没有收到返回值,那么就判定是断网。
if((System.currentTimeMillis()-nowdate)>5000&&nowdate!=0) {mWebSocketConnection.disconnect();mTimer.cancel();// connect(); Log.i("yuhan", "" + System.currentTimeMillis() + "nowdate:" + nowdate + mWebSocketConnection.isConnected());return; }
}public void sendMessage(String data){mWebSocketConnection.sendTextMessage(data); }
//调整链接是否超时的时间限制public void setwebsocketoptions(){mWebSocketOptions.setSocketConnectTimeout(30000);mWebSocketOptions.setSocketReceiveTimeout(10000); }}
websocket autobahn jar包的用法相关推荐
- Java反编译Jar包和Android APK(类似.NET Reflector)
JD-GUI 这个JD-GUI可以反编译jar包,用法就是打开jar包直接浏览. JD-Eclipse JD-Eclipse是个Eclipse插件,安装方法是打开Eclipse,菜单 Help – & ...
- JAR包及jar命令用法
常常在网上看到有人询问:如何把 java 程序编译成 .exe 文件.通常回答只有两种,一种是制作一个可执行的 JAR 文件包,然后就可以像.chm 文档一样双击运行了:而另一种是使用 JET 来进行 ...
- CentOS中使用Dockerfile部署带websocket的SpringBoot的jar包
场景 CentOS7中使用Dockerfile部署后台jar包: https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/119818808 ...
- java jar包详解_Jar打包用法详解
这篇文章主要介绍了Jar打包用法,详解分析了jar打包命令的各种常见用法及参数含义,非常具有实用价值,需要的朋友可以参考下 本文较为详细的分析了Jar打包的用法.分享给大家供大家参考.具体分析如下: ...
- java websocket下载_java-websocket.jar包下载
java-websocket.jar包是一款在进行java开发的过程中十分重要的一款jar文件,如果在进行java开发的过程中发现架包库中缺少这款websocket.jar包,请马上下载修复架包即可. ...
- android websocket client 如何调用autobahn.jar
Android调用 autobahn.jar: 1.下载源码:使用library: https://github.com/tavendo/AutobahnAndroid: 2.编译,得到autoha ...
- fernflower反编译jar包用法
1.用jd-gui反编译,save source后会生成非源码的注释代码. 2.Android studio跳转源码可以看到,class文件是用fernflower反编译的源码,然后我们去GitHub ...
- 一文读懂jar包的小秘密
简介 java程序员每天不是在创建jar包就是在创建jar包的路上,并且各种依赖引用都是以jar包的形式展示的.但是随着现代IDE的出现,我想很多程序员已经基本上很少直接和jar包打交道了. 换句话说 ...
- linux 后台运行jar包命令,Linux 运行jar包命令(Cent OS 7后台运行jar包)
Linux 运行jar包命令如下: 方式一 特点:当前ssh窗口被锁定,可按CTRL + C打断程序运行,或直接关闭窗口,程序退出 那如何让窗口不锁定? 方式二 java -jar shareniu. ...
最新文章
- 【怎样写代码】向现有类型“添加”方法 -- 扩展方法(二):扩展方法的实现与调用
- 是什么让 Spring5 放弃了使用 Guava Cache?
- C语言自学《四》---- 循 环
- python Anaconda2安装OpenCV2
- recovery模式下支持ADB连接和串口操作
- python加载机制_Python 模块的加载顺序
- 头的各个部位示意图_图解圆锥破碎机润滑油路,7个主要润滑部位特点分析
- 挖掘经典:几乎被人遗忘的HTML七种用法
- 苹果手机上网很慢_手机信号满格,但上网速度却很慢?来听听通信专家怎么说的...
- echarts全国城市经纬坐标json文件
- (C语言) 用牛顿迭代法求方程2x^3 - 4x^2 + 3x - 6 = 0在1.5附近的根
- 银行的USB KEY里面包含的是什么
- excel显著性检验_使用Excel2016比较两组数据显著性差异
- python 爬虫下载网易歌单歌曲
- 胜利大逃亡 --- bfs记录
- 使用vue+element开发一个谷歌插件
- Android类似IOS的果冻效果
- R语言---安装依赖包
- css3制作八棱锥_CSS 绘制各种形状
- python接口自动化-发邮件带附件