아오...생각해보니까 안되는건데, 삽질하고 있었긔ㅠㅠ
안드로이드폰에서 서버를 구축하면 일단 3G에서는 외부에서 접속을 할 수 없어요. 안드로이드폰 웹브라우저에서만 접속할 수 있어요~
그래서 WI-FI모드에서만 가능하네요. WI-FI모드에서도 같은 망에 있어야지 가능하죠~
음....어차피 내가 만드려고 하는 것은 파일교환하는 거라서 뭐 WI-FI모드에서만 써도 될 듯...
일단 잡소리고-_-
Android에는 HttpClient와 HttpCore가 내장탑재되어있습니다. 이걸 이용하면 간단한 웹서버를 만들 수 있지요. 예제는 아래사이트에서...
확인할 수 있는데, 이상한 게 이거 그대로 쓰려고 하면 클래스가 몇 개 없어서 에러납니다.
이걸 보면 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메가만 안넘으면 계속 올릴 수 있어서 좋아~