美文网首页Android进阶之路Android技术知识Android开发
Android使用AsyncHttpServer实现本地HTTP

Android使用AsyncHttpServer实现本地HTTP

作者: 手指乐 | 来源:发表于2019-08-22 19:22 被阅读5次

    引入AsyncHttpServer

    compile 'com.koushikdutta.async:androidasync:2.2.1'
    

    封装实现类

    public class LocalHttpServer implements HttpServerRequestCallback {
    
        private static final String TAG = "LocalHttpServer";
    
        private static LocalHttpServer mInstance;
    
        public static int PORT_LISTEN_DEFALT = 5000;
    
        AsyncHttpServer server = new AsyncHttpServer();
    
        public static LocalHttpServer getInstance() {
            if (mInstance == null) {
                //增加类锁,保证只初始化一次
                synchronized (LocalHttpServer.class) {
                    if (mInstance == null) {
                        mInstance = new LocalHttpServer();
                    }
                }
            }
            return mInstance;
        }
    
    
        public void stopServer(){
            server.stop();
        }
    
    
        public void startServer() {
            server.addAction("OPTIONS", "[\\d\\D]*", this);
            server.get("[\\d\\D]*", this);
            server.post("[\\d\\D]*", this);
            server.listen(PORT_LISTEN_DEFALT);
    
        }
    
        @Override
        public void onRequest(AsyncHttpServerRequest request, AsyncHttpServerResponse response) {
            Log.d(TAG, "come in");
            String uri = request.getPath();
            Log.d(TAG, "uri="+uri);
        }
    }
    

    server.addAction("OPTIONS", "[\d\D]*", this);--所有的option请求都调用本来的onRequest回调
    后面的 server.get, server.post类似于addAction("get",....) addAction("post",....)
    server.listen(PORT_LISTEN_DEFALT);--在指定端口监听

    相关文章

      网友评论

        本文标题:Android使用AsyncHttpServer实现本地HTTP

        本文链接:https://www.haomeiwen.com/subject/gcposctx.html