안드로이드 용 socket 통신 어플을 개발중인데요.

SocketChannel 의 넌블커킹모드 동작이 안되서 문의드립니다.

 

pc 에서 자바로 개발된 client 샘플소스를 안드로이드로 포팅해서 사용해보았는데요.

안드로이드 통신어플에서 서버쪽으로 나가는 데이터는 잘나가는데요.

서버에서 안드로이드 통신어플로 들어오는 데이터가 수신이 안됩니다.

 

특이한것은, pc 자바용으로 된 샘플( javac 로 컴파일한 버전 )은 서버에서 데이터 수신을 잘합니다.

안드로이드로 포팅한 어플은 데이터 수신을 못합니다. 아마도, 뭔가를 잘못한것 같은데요...

 

 

클리이언트 소스를 올립니다. ( 첨부로 올립니다. ) 죄송하지만,  소스좀 봐줄수 있읍니까?

뭐가 잘못되었는지 모르겠네요.

 

넌블러킹모드로 select()를 사용하고자 하는것이 제목적입니다.

 

첨부로 코드를 올렸지만, 참고로, Thread 부분만 별도로, 아래 적어보았읍니다.

 

 private Thread SimpleThread = new Thread() {
     private SocketChannel sc = null;
    CServerSocket ServerSocket = CServerSocket.getInstance();    

 

    public void run()  {
   try{
         while(true){
             ServerSocket.selector.select();
             Iterator it = ServerSocket.selector.selectedKeys().iterator();
            while(it.hasNext()){
                   SelectionKey key = (SelectionKey)it.next();
                   if(key.isReadable()){
                         read(key);
                   }
                   it.remove();
           }
      }
   }catch(Exception e){

   }

  }
 };