android 方法超时,android socket.io中的发出或确认超时处理?
套接字发出超时确认
我的
AckWithTimeOut
带有实现的自定义超时类
Ack
接口
public class AckWithTimeOut implements Ack {
private Timer timer;
private long timeOut = 0;
private boolean called = false;
public AckWithTimeOut() {
}
public AckWithTimeOut(long timeout_after) {
if (timeout_after <= 0)
return;
this.timeOut = timeout_after;
startTimer();
}
public void startTimer() {
timer = new Timer();
timer.schedule(new TimerTask() {
@Override
public void run() {
callback("No Ack");
}
}, timeOut);
}
public void resetTimer() {
if (timer != null) {
timer.cancel();
startTimer();
}
}
public void cancelTimer() {
if (timer != null)
timer.cancel();
}
void callback(Object... args) {
if (called) return;
called = true;
cancelTimer();
call(args);
}
@Override
public void call(Object... args) {
}
}
添加
确认超时
在套接字中发出侦听器
mSocket.emit("socketChangeDeviceAck", obj, new AckWithTimeOut(5000) {
@Override
public void call(Object... args) {
if(args!=null){
if(args[0].toString().equalsIgnoreCase("No Ack")){
Log.d("ACK_SOCKET","AckWithTimeOut : "+ args[0].toString());
}else if(args[0].toString().equalsIgnoreCase("true")){
cancelTimer(); //cancel timer if emit ACK return true
Log.d("ACK_SOCKET","AckWithTimeOut : "+ args[0].toString());
}
}
}
});
android 方法超时,android socket.io中的发出或确认超时处理?相关推荐
- socket.io 中文手册 socket.io 中文文档
socket.io 中文手册,socket.io 中文文档转载于:http://www.cnblogs.com/xiezhengcai/p/3956401.html 服务端 io.on('connec ...
- android方法注释,android 注解的使用
前言 对注解,一开始是在学习java的时候接触到的,就是在<Thinking in Java>里草草看过.后来开发android,自己接了项目时,把 基础概况 注解是Java SE5中的重 ...
- socket.io 中文手册 socket.io 中文文档
服务端 io.on('connection',function(socket));//监听客户端连接,回调函数会传递本次连接的socket io.sockets.emit('String',data) ...
- android方法入口,Android App多个入口的实现方法
经常看到有App提供多个入口,就是桌面上显示有多种图标,点不同图标进入不同的功能页. 基本实现很简单,以下是步骤. 1. AndroidManifest.xml里注册别名. 在 里添加 android ...
- socket.io 中文文档
Socket.io是一个WebSocket库,包括了客户端的js和服务器端的nodejs,它的目标是构建可以在不同浏览器和移动设备上使用的实时应用.它会自动根据浏览器从WebSocket.AJAX长轮 ...
- 你知道socket.io中connect事件和connection事件的区别吗?
server端的socket.io中有两个连接事件.一个是.on('connect'),一个是.on('connection'). 官网上没有对这两个事件的区别进行解释. 那么这两个事件有什么区别呢? ...
- android 方法统计,Android 利用编译时 注入 统计App内所有方法执行时常,分析ANR
Git传送门 1.应用场景 Android Studio提供了很多性能分析工具,分析CPU耗时,分析内存,但主要是给我们开发阶段使用,而且应用起来也不方便,如果我们能在APP运行的时候捕获所有方法的时 ...
- android 方法调用,Android 简单的方法调用方案
Method Bridge 一个简单的方法调用方案 特性 方法动态注册 跨对象.跨页面.跨线程等方法调用 添加依赖 配置仓库 allprojects { repositories { ... mave ...
- socket.io client + socketio-netty server简析
一. 背景: 现在实时web消息推送一般会用到websocket,但是由于此技术并没有推广开来,所以各浏览器对其支持也不同,例如下图显示了各类浏览器的支持情况. 粉红色区域表示不支持Websocket ...
最新文章
- 场景创新,推动金融行业数字化转型
- Scrapy框架的学习(9.Scrapy中的CrawlSpider类的作用以及使用,实现优化的翻页爬虫)
- 我的世界java多大内存_我的世界电脑版内存多大
- 为什么创建线程池一定要用ThreadPoolExecutor?
- HTMLCSS--使用CSS完成页面布局及排版(附案例代码)
- java导出csv文件_java导出生成csv文件的方法
- 带缺省参数的重复声明
- vue.js2.0 java_详解vite2.0配置学习(typescript版本)
- java解析json类型的list
- Unity联机人物加入游戏、同屏移动、与攻击
- 音频文件编辑 android,音频剪辑编辑APP
- 邬先生及时功成身退,是明哲保身的聪明做法 --- 我看电视剧《雍正王朝》
- mysql端口establish_sqlserver提示The Network Adapter could not establish the con
- DELPHI 读取TXT文件unicode乱码
- c语言大一,C语言复习 大一.doc
- springboot 解决缓慢的http攻击
- GEOTRANS 3.7 用户使用手册 - 区域和控件
- 【安卓学习笔记】界面编程入门
- 给App启用MultiDex功能
- 7K7K小游戏《黑客是怎样炼成的》攻略