套接字发出超时确认

我的

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中的发出或确认超时处理?相关推荐

  1. socket.io 中文手册 socket.io 中文文档

    socket.io 中文手册,socket.io 中文文档转载于:http://www.cnblogs.com/xiezhengcai/p/3956401.html 服务端 io.on('connec ...

  2. android方法注释,android 注解的使用

    前言 对注解,一开始是在学习java的时候接触到的,就是在<Thinking in Java>里草草看过.后来开发android,自己接了项目时,把 基础概况 注解是Java SE5中的重 ...

  3. socket.io 中文手册 socket.io 中文文档

    服务端 io.on('connection',function(socket));//监听客户端连接,回调函数会传递本次连接的socket io.sockets.emit('String',data) ...

  4. android方法入口,Android App多个入口的实现方法

    经常看到有App提供多个入口,就是桌面上显示有多种图标,点不同图标进入不同的功能页. 基本实现很简单,以下是步骤. 1. AndroidManifest.xml里注册别名. 在 里添加 android ...

  5. socket.io 中文文档

    Socket.io是一个WebSocket库,包括了客户端的js和服务器端的nodejs,它的目标是构建可以在不同浏览器和移动设备上使用的实时应用.它会自动根据浏览器从WebSocket.AJAX长轮 ...

  6. 你知道socket.io中connect事件和connection事件的区别吗?

    server端的socket.io中有两个连接事件.一个是.on('connect'),一个是.on('connection'). 官网上没有对这两个事件的区别进行解释. 那么这两个事件有什么区别呢? ...

  7. android 方法统计,Android 利用编译时 注入 统计App内所有方法执行时常,分析ANR

    Git传送门 1.应用场景 Android Studio提供了很多性能分析工具,分析CPU耗时,分析内存,但主要是给我们开发阶段使用,而且应用起来也不方便,如果我们能在APP运行的时候捕获所有方法的时 ...

  8. android 方法调用,Android 简单的方法调用方案

    Method Bridge 一个简单的方法调用方案 特性 方法动态注册 跨对象.跨页面.跨线程等方法调用 添加依赖 配置仓库 allprojects { repositories { ... mave ...

  9. socket.io client + socketio-netty server简析

    一. 背景: 现在实时web消息推送一般会用到websocket,但是由于此技术并没有推广开来,所以各浏览器对其支持也不同,例如下图显示了各类浏览器的支持情况. 粉红色区域表示不支持Websocket ...

最新文章

  1. 场景创新,推动金融行业数字化转型
  2. Scrapy框架的学习(9.Scrapy中的CrawlSpider类的作用以及使用,实现优化的翻页爬虫)
  3. 我的世界java多大内存_我的世界电脑版内存多大
  4. 为什么创建线程池一定要用ThreadPoolExecutor?
  5. HTMLCSS--使用CSS完成页面布局及排版(附案例代码)
  6. java导出csv文件_java导出生成csv文件的方法
  7. 带缺省参数的重复声明
  8. vue.js2.0 java_详解vite2.0配置学习(typescript版本)
  9. java解析json类型的list
  10. Unity联机人物加入游戏、同屏移动、与攻击
  11. 音频文件编辑 android,音频剪辑编辑APP
  12. 邬先生及时功成身退,是明哲保身的聪明做法 --- 我看电视剧《雍正王朝》
  13. mysql端口establish_sqlserver提示The Network Adapter could not establish the con
  14. DELPHI 读取TXT文件unicode乱码
  15. c语言大一,C语言复习 大一.doc
  16. springboot 解决缓慢的http攻击
  17. GEOTRANS 3.7 用户使用手册 - 区域和控件
  18. 【安卓学习笔记】界面编程入门
  19. 给App启用MultiDex功能
  20. 7K7K小游戏《黑客是怎样炼成的》攻略

热门文章

  1. 5元素升级android6,升级你的app以支持高长宽比的新旗舰
  2. C语言编程出图形,C语言画出各种图形
  3. 图解自监督学习(CV)
  4. Java安全(一) : java类 | 反射
  5. jspdf html转换pdf,使用jspdf将HTML转换为pdf时出错
  6. 日常问题——VMware下的CentOS7 Ping不通百度
  7. Linuxmint 美化之路
  8. 网页滚动条上下滚动固定元素左右不固定之sticky
  9. 如何快速把音乐转成MP3格式
  10. 阿里如何实现100%容器化镜像化?八年技术演进之路回顾(转)