2013-09-03 2 views
0

Nanohttpd 서버가 내장 된 웹보기를 사용하려고합니다. 둘 다 일할 수 있지만 서로는 할 수 없습니다.웹보기가 nanohttpd에 연결되지 않았습니다.

WebWiew 요청을 임베드되지 않은 다른 프록시로 보낼 수 있습니다. 또는 나는 firefox에서 임베디드 프록시로 요청을 보내고 수정 된 응답을 반환 할 수 있습니다.

하지만 임베디드 프록시에 웹보기 요청을 보낼 수 없으며 전에 시도한 적이 있습니까?

내가 실패 할 수 밖에없는 이유는 내가 백그라운드에서 또는 다른 스레드에서 서버를 실행해야 할 수도 있다는 가설입니까?

여기에서 난 당신이 UI 스레드의 배경에 포함 된 서버를 실행 AsyncTask<?,?,?>을 사용할 수 있습니다 WebView android proxy

답변

2

here 를 살펴 보자 작동합니까 확인할 수있는 웹보기 프록시를 설정하는 코드를 사용하고 있습니다 .

당신의 UI 클래스 또는 작업 클래스의 다음
public class ToRunServer extends AsyncTask<Void, Void, Boolean> { 

@Override 
protected Boolean doInBackground(Void... params) { 
    HelloServer helloServer = null; 
    try { 
     helloServer = new HelloServer(); 
    } catch (IOException e) { 
     e.printStackTrace(); 
    } 
    try { 
     HelloServer.start(); 
     System.out.println("SERVER START TRIED"); 
     return true; 
    } catch (IOException e) { 
     e.printStackTrace(); 
     System.out.println("SERVER START FAILED"); 
     return false; 
    } 
} 

protected void onPostExecute(Boolean result) { 
} 
} 

은 당신의 코드에 줄을 추가 :

완벽
Boolean isServerRunning = new ToRunServer().execute().get(); 
+0

, 그것을 실행 나는 여기에 예제 코드는, "HelloServer에"라는 임베디드 서버를 가정 흠 잡을 데없이 지금! –

관련 문제