作家
登录

在Android上实现HttpServer

作者: 来源: 2017-08-16 09:10:45 阅读 我要评论

在Android上实现HttpServer

总结:

5)当然最后最重要的一点肯定是开启和封闭的代码了:

在比来的项目中因为要用Android作为一个办事器去做一个及时吸法术据的功能,所以这个时刻就要去做一个Android本地的微型办事器。

AndroidAsync耗时:1.4s

那么此时我起首想到了spring boot,因为他是一个办事器的框架。然则实际上我们根本用不到这么大年夜型的办事器框架,设备这些都太麻烦。所以,我又找到了Ijetty、NanoHttpd和AndroidAsync这三个框架,都是比较微型的,实用于Android的。

因为没细心深究Ijetty,所以就重点放到NanoHttpd和AndroidAsync;

那么就先来说下两个的优缺点:

1.NanoHttpd是BIO为底层封装的框架,而AndroidAsync是NIO为底层封装的,其他的是一样的,并且其实AndroidAsync是模仿NanoHttpd框架写的。所以,必定意义上来说,AndroidAsync是NanoHttpd的优化版,当然也要看具体应用处景辣。

2.NanoHttpd只能用于HttpServer,然则AndroidAsync除了HttpServer的应用还能用在webSocket、HttpClient等方面,个中大年夜AndroidAsync中离开出来的Ion的库也是比较有名的。

3.NanoHttpd底层处理包含的返回状况码(例如: 200、300、400、500等)比较多;然则经由笔者浏览AndroidAsync的源码发明,AndroidAsync底层封装返回的状况码只有两种:200、404,正好笔者发清楚明了这个坑(下面会讲到,OPTIONS的例子)

下面看一下具体应用办法吧。

1.先说NanoHttpd:

因为NanoHttpd的框架实际就是一个单文件,可以直接去github高低载,下载地址

有了下载的文件,那么就可以持续这个文件写一个类,具体如下:

  1. public class HttpServer extends NanoHTTPD { 
  2.     private static final String TAG = "HttpServer"
  3.  
  4.     public static final String DEFAULT_SHOW_PAGE = "index.html"
  5.     public static final int DEFAULT_PORT = 9511;//此参数随便定义,最好定义1024-65535;1-1024是体系常用端口,1024-65535长短体系端口 
  6.  
  7.     public enum Status implements Response.IStatus { 
  8.         REQUEST_ERROR(500, "请求掉败"), 
  9.         REQUEST_ERROR_API(501, "无效的请求接口"), 
  10.         REQUEST_ERROR_CMD(502, "无效敕令"); 
  11.  
  12.         private final int requestStatus; 
  13.         private final String description; 
  14.  
  15.         Status(int requestStatus, String description) { 
  16.             this.requestStatus = requestStatus; 
  17.             this.description = description; 
  18.         } 
  19.  
  20.         @Override 
  21.         public String getDescription() { 
  22.             return description; 
  23.         } 
  24.  
     1/9    1 2 3 4 5 6 下一页 尾页

      推荐阅读

      还不知道这11个超酷的编程新工具你就 out 了!

    对象对开辟人员来说至关重要。对象可以让一个开辟人员的日常工作更高效,并且只须要存眷最重要的工作。对于开辟人员来讲,寻找更好的替代对象往往比保持应用熟悉过时的对象更艰苦。你可能>>>详细阅读


    本文标题:在Android上实现HttpServer

    地址:http://www.17bianji.com/lsqh/36730.html

关键词: 探索发现

乐购科技部分新闻及文章转载自互联网,供读者交流和学习,若有涉及作者版权等问题请及时与我们联系,以便更正、删除或按规定办理。感谢所有提供资讯的网站,欢迎各类媒体与乐购科技进行文章共享合作。

网友点评
自媒体专栏

评论

热度

精彩导读
栏目ID=71的表不存在(操作类型=0)