NanoHTTPD的学习
来源:互联网 发布:气象数据知识试题 编辑:程序博客网 时间:2024/06/08 14:27
2017年03月14日23:31:16 ububtu
今天研究了一天的NanoHTTPD的代码,一个java类实现的HTTP轻量服务器。
NanoHTTPD是一个抽象类,内部类HTTPSession和接口IHTTPSession,
HTTPSession实现了IHTTPSession的接口。
NanoHTTPD内部自置SocketServer类,每次有连接会自动创建一个HTTPSession对象和一个线程运行HTTPSession.execue()方法
以上都不重要
上传
我们只要实现serve(IHTTPSession Session )这个方法。
类本身帮助我们实现了从数据流中截取了HTTP协议的清单文件,在头文件中,
类有趣的地方使用PushbackInputStream这个流,可以读出数据查看,再把读出的数据 再写(unread())回去。
用这个流 截取走了头文件部分,剩下的数据流在Serve(IHTTPSession Session)方法中我们可以使用Session.getInputStream()
方法来得到数据流,读取数据流中数据。
但是这个流有一个问题,读完数据后的流不会返回-1或者结束。需要我们来加入判断结束。
我是使用 判断最后一次的数据是否小于缓存的BUFFER_SIZE ,如果小于它 就说明了数据读完。结束这个
while。进行其他操作
下载:
返回一个文件流到客户端。
type 文件名称
fis 文件输入流
serve()中 return newNanoHTTPD.Response(Response.Status.OK, type, fis);
阅读全文
0 0
- NanoHTTPD的学习
- NanoHTTPD学习
- NanoHTTPD学习笔记 --未完成。
- java编写的轻量级HTTP服务器nanohttpd
- NanoHTTPD web server的一个简单荔枝
- java编写的轻量级HTTP服务器nanohttpd
- nanoHTTPD 接收 okhttp 上传的文件
- 如何开发自己的HttpServer-NanoHttpd源码解读
- 如何开发自己的HttpServer-NanoHttpd源码解读
- 关于NanoHTTPD中任意intent实现的问题
- NanoHTTPD介绍
- NanoHttpd 专门为嵌入java应用设计的轻型HTTP服务器
- 读nanohttpd源码
- NanoHTTPD源码阅读
- NanoHttpd Demo是个好东西
- NanoHTTPD----SimpleWebServer初始化
- NanoHttpd源码分析
- NanoHTTPD post json
- Android Studio导入外部项目问题
- java中String的常用方法
- 17
- activiti(1):spring集成activiti
- 决策树之CART(分类回归树)详解
- NanoHTTPD的学习
- linux系统
- Linux命令基础26-.bashrc和.zashrc文件作用
- android 录音
- C#泛型
- V-Layout
- 电商用户行为分析大数据平台相关系列3-HIVE安装
- JDBC操作
- 防止a标签下载弹窗