아오...생각해보니까 안되는건데, 삽질하고 있었긔ㅠㅠ
안드로이드폰에서 서버를 구축하면 일단 3G에서는 외부에서 접속을 할 수 없어요. 안드로이드폰 웹브라우저에서만 접속할 수 있어요~
그래서 WI-FI모드에서만 가능하네요. WI-FI모드에서도 같은 망에 있어야지 가능하죠~
음....어차피 내가 만드려고 하는 것은 파일교환하는 거라서 뭐 WI-FI모드에서만 써도 될 듯...

일단 잡소리고-_-

Android에는 HttpClient와 HttpCore가 내장탑재되어있습니다. 이걸 이용하면 간단한 웹서버를 만들 수 있지요. 예제는 아래사이트에서...
http://hc.apache.org/httpcomponents-core-ga/examples.html
확인할 수 있는데, 이상한 게 이거 그대로 쓰려고 하면 클래스가 몇 개 없어서 에러납니다.
http://hc.apache.org/httpcomponents-core-ga/httpcore/examples/org/apache/http/examples/ElementalHttpServer.java
이걸 보면 Android에 있는 HttpCore에 없는 클래스를 사용하더라구요. 그래서 Tutorial을 잘 보니까 이렇게 말고 다르게 써야하더라구요.
그래서 살짝 고쳐줘야합니다. 바뀐 부분만 보면-_-

RequestListenerThread 클래스의 생성자


public RequestListenerThread(int port, final String docroot) throws IOException {
        this.serversocket = new ServerSocket(port);
        
        this.params = new BasicHttpParams();
        this.params
            .setIntParameter(CoreConnectionPNames.SO_TIMEOUT, 5000)
            .setIntParameter(CoreConnectionPNames.SOCKET_BUFFER_SIZE, 8 * 1024)
            .setBooleanParameter(CoreConnectionPNames.STALE_CONNECTION_CHECK, false)
            .setBooleanParameter(CoreConnectionPNames.TCP_NODELAY, true)
            .setParameter(CoreProtocolPNames.ORIGIN_SERVER, "HttpComponents/1.1");

        BasicHttpProcessor httpproc = new BasicHttpProcessor();
        httpproc.addInterceptor(new ResponseDate());
        httpproc.addInterceptor(new ResponseServer());
        httpproc.addInterceptor(new ResponseContent());
        httpproc.addInterceptor(new ResponseConnControl());
        
        // Set up request handlers
        HttpRequestHandlerRegistry reqistry = new HttpRequestHandlerRegistry();
        reqistry.register("*", new HttpFileHandler(docroot));
        
        this.httpService = new HttpService(httpproc, new DefaultConnectionReuseStrategy(), new DefaultHttpResponseFactory());
        this.httpService.setHandlerResolver(reqistry);
    }
생성자 부분이 요렇게 바뀌어야합니다. 생각해보니....이거말고 고친게 없네요-_-
아마 잘 될겁니다 으핫.....

이건 풀소스-_-

PS. 티스토리는 개당 10메가만 안넘으면 계속 올릴 수 있어서 좋아~

 
Posted by 머드초보

댓글을 달아 주세요

  1. BlogIcon 양충 2011.12.15 10:46 신고  댓글주소  수정/삭제  댓글쓰기

    안녕하세요 ^^*
    글 잘봤습니다. 문의 사항이 있어 말씀 드립니다. request를 이용해서 html에서 form으로 보내는 file을 받고싶은데 당최 모르겠네요.. 호출은 되는데 file을 못찾겠네요 혹시 방법이 있나요?

  2. BlogIcon 후크 2012.05.11 16:46  댓글주소  수정/삭제  댓글쓰기

    감사 참조 잘 할께요

  3. BlogIcon 아네시스 2012.05.30 17:35  댓글주소  수정/삭제  댓글쓰기

    잘 보고 갑니다. 감사합니다^^

  4. jdhcod 2013.03.13 09:52  댓글주소  수정/삭제  댓글쓰기

    포스팅 잘봤어요^^~ 혹시 이런식으로 http서버를 만든다면 거기에 php를 붙일 수 있는 방법이 있나요?