Android java.nio实践总结
来源:互联网 发布:苹果平板支持4g网络吗 编辑:程序博客网 时间:2024/05/16 14:55
经过长时间的在android上使用java.nio,期间遇到了和解决了不少问题。 总结几个比较常见及难解的问题。 如下:
1.通信的实时性问题
可设置socket TcpNoDelay属性。
private void setSocketOption(Socket socket) {try {socket.setTcpNoDelay(true);} catch (Exception e) {e.printStackTrace();}}
socket还有其他属性,可参考Java之Socket用法详解
2.channel和select循环的线程问题
注册channel的线程必须是,select循环所在的线程。
3.android2.3 主动连接方收不到对方数据问题
在android2.3, 主动连接的一方,连接成功后,如果同时关心OP_CONNECT和OP_READ
key.interestOps(SelectionKey.OP_CONNECT | SelectionKey.OP_READ);
则select循环获取不到 SelectionKey.OP_READ事件 (即使对方已经发过来很多数据)
解决方法: 主动连接的一方,连接成功后,不再关心OP_CONNECT
注:android4.0没此问题。
示例代码见: android nio代码
其他问题:可参考Java NIO 实践经验总结
- Android java.nio实践总结
- Java nio 实践
- Java NIO 实践经验总结
- java nio总结
- Java NIO教程总结
- Java NIO 总结
- Java NIO 简单总结
- Java nio:Buffer总结
- JAVA NIO 学习总结
- java中NIO总结
- java-----NIO总结(一)
- java-----NIO总结(二)
- java-----NIO总结(三)
- java-----NIO总结(四)
- Java NIO 总结
- Java NIO 学习总结
- 【总结】Java NIO浅析
- Java NIO 编程总结
- C++实现命令模式
- 使用EGIT管理项目的一点心得
- Access 数据库的数据类型
- Think in Java
- javascript 异步编程
- Android java.nio实践总结
- Linux查看CPU和内存使用情况
- all与any操作符和返回两个结果集和把一个结果集当表和查询结果创建表和同时更新几个字段
- event.keyCode对照表
- 越来越精彩 细数蛇年春晚科技亮点
- 看源代码的经验总结
- 项目开始时,测试人员需要跟项目组成员确定的一些事情
- 计算机是如何启动的
- 2013年 Android开发环境安装