nanohttpd连接被拒绝

时间:2015-09-16 06:05:05

标签: android webview xamarin nanohttpd

我正在使用xamarin构建一个Android应用程序。在其中,我需要通过Web服务器将文件从本地存储加载到webview中。因此,我使用NanoHttpd创建了一个Web服务器来为webview提供文件。将jar加载到jar绑定库中。以与示例中相同的方式启动Web服务器。不幸的是,当我尝试在webview中加载http://localhost:8080/时,我不断收到err_connection_refused。我正在使用Sony Xperia设备加载应用程序。

我也尝试过NanoHttpd的替代品。 EmbedIO for exaple。我尝试使用包含的SimpleWebServer或自己创建,即使是一个简单的字符串,只是为了看它是否正常工作。我试图加载127.0.0.1或localhost,尝试了不同的端口。什么都行不通。

帮我StackOverflow,你是我唯一的希望。

编辑以添加一些代码

这是从helloserver示例

复制的示例实现
 class HttpServer : NanoHTTPD
    {
        public static void main(String[] args)
        {
            ServerRunner.Run(Class.FromType(typeof(HttpsServer)));
        }


        public HttpServer():base(8080)
        {

        }

        public HttpServer(int port) : base(port)
        {

        }


        public NanoHTTPD.Response serve(NanoHTTPD.IHTTPSession session)
        {
            NanoHTTPD.Method method = session.Method;
            String uri = session.Uri;
            //HelloServer.LOG.info(method + " '" + uri + "' ");

            String msg = "<html><body><h1>Hello server</h1>\n";
            var parms = session.Parms;
            if (parms["username"] == null)
            {
                msg += "<form action='?' method='get'>\n" + "  <p>Your name: <input type='text' name='username'></p>\n" + "</form>\n";
            }
            else
            {
                msg += "<p>Hello, " + parms["username"] + "!</p>";
            }

            msg += "</body></html>\n";

            return new NanoHTTPD.Response(msg);
        }
    }

这是初始化:

private void StartServer()
        {

                String[] args = {

                    "--dir",
                    Application.Context.FilesDir + "/Website"
                };
                SimpleWebServer.Main(args);

                //HttpsServer.main(null);
                //  server=new HttpsServer();
               // server.Start();


        }

这是nanohttpd包中的simplewebserver,结果连接被拒绝,logcat显示

[INFO:CONSOLE(12)]“不允许加载本地资源:file:///android_asset/webkit/android-weberror.png”,来源:data:text / html,chromewebdata(12)

如果我尝试从Httpserver.main开始,我会得到相同的,另外

java.lang.InstantiationException: class md535a550fd04ddaa12bd0435e04d30336e.HttpServer has no zero argument constructor

如果我尝试使用新的httpserver,然后是server.start,我只会在webview上找到“Not Found”字符串,并且没有我可以看到的logcat错误

0 个答案:

没有答案