안녕하세요 몇일째 끙끙거리고 있는 학생입니다.

 

서버는 java 클라이언트는 안드로이드 입니다.

 

서버로 접속 하여 소캣이 연결 되는 것은 확인하였습니다. 그런데

 

소켓 생성후에 (InputStream, OutputStream 객체 얻기 성공)

 

인풋, 아웃풋스트림을 통해서 오브젝트 인풋,아웃풋스트림 객체를 얻을려고 하는데 얻어지질 않네요,,;;;

 

소스는 다음과 괕습니다.

java - server

 public class aaa
{
  public static void main(String[] args)
  {
  Socket connectedClientSocket;  
  ServerSocket server = null;
  Thread thread1;
     int connectCount=0;
        
   
        
     System.out.println("****************************************");
        System.out.println("Thread를 이용한 다중 접속 서버 작동됨...");
        System.out.println("****************************************");
              try {
     server = new ServerSocket(3456);
    } catch (IOException e) {
     // TODO Auto-generated catch block
     e.printStackTrace();
    }
            
             while(true)
             {
                 // 클라이언트가 접속해 오기를 기다립니다.
              try {
                 
                      connectedClientSocket = server.accept();
                      ThreadServerHandler handler = new ThreadServerHandler(connectedClientSocket);
                      //스레드 시작, run()호출
                      thread1 = new Thread(handler);
                     thread1.start();
     } catch (IOException e) {
      // TODO Auto-generated catch block
      e.printStackTrace();
     }
              
                               
             }
   
       
  }
}

class ThreadServerHandler implements Runnable
{
 //멤버변수
 InputStream is;
 OutputStream os;
 ObjectInputStream ois = null;
 ObjectOutputStream oos = null;
 int qu;
 private Socket connectedClientSocket;
   
    //생성자
    public ThreadServerHandler(Socket connectedClientSocket) {
     //Client와 통신할 객체를 초기값으로 받아 할당합니다.
        this.connectedClientSocket = connectedClientSocket; 
    }

    //start() 메소드 호출 시 실행됩니다.
    public void run() {     
        try {
         is = connectedClientSocket.getInputStream();
   os = connectedClientSocket.getOutputStream();
   System.out.print("인풋스트림 초기화 끝!");
   ois = new ObjectInputStream(is);
   oos = new ObjectOutputStream(os);
   System.out.print("오프젝트스트림 초기화 끝!");
            while(true)
            {
             if(is.available() >0)
             {
              qu=is.read();
              if(qu == 0)
              {
               JoinPeople people = new JoinPeople();
               people = (JoinPeople)ois.readObject();
               System.out.print(""+people.m_ID);
               //ResultSet findID= stmt.executeQuery("select ID from member where ID='"+people.m_ID+"';");//people.m_Id;
               //if(findID.getRow()>0)               
               //os.write(0);//같은게 있으면
               //else
              // os.write(1);//같은게 없다
               //DB에 회원테이블에 people정보로 필드 삽입
              }
             }
            }
        } catch (IOException e) {
   // TODO Auto-generated catch block
   e.printStackTrace();
  } catch (ClassNotFoundException e) {
   // TODO Auto-generated catch block
   e.printStackTrace();
  }  finally {
            try {
                connectedClientSocket.close(); // 클라이언트 접속 종료
            } catch(IOException ignored) {}
        }
    }
}

클라이언트 - android

 class SocketClient implements Runnable  // 소켓 통신을 위한 스레드 클래스
{ 
 static DataOutputStream mDataOutputStream; //다른 엑티비티에서 사용목적으로 static으로 만듬
 static DataInputStream mDataInputStream;
 //Market con;
 String server_ip;
 Socket client=null;
 InputStream is;
 OutputStream os;
 ObjectInputStream ois=null;
 ObjectOutputStream oos = null;
 
 public void run()
 {
  try
  {
   Log.d("TCP", "Run run");
   client = new Socket("203.244.144.171",3456);
   Log.d("TCP", "Conect Server");
   is = client.getInputStream();
   os = client.getOutputStream();
   Log.d("TCP", "InputStream");
   ois = new ObjectInputStream(is);
   Log.d("TCP", "ObjectinputStream");
   oos = new ObjectOutputStream(os);
   Log.d("TCP", "ObjectoutputStream");
   
   while(true)
   {
    if(is.available() > 0)
    {
     
    }
   }   
   //ois.close();
   //oos.close();
   //client.close();
  } catch (UnknownHostException e) {
   // TODO Auto-generated catch block
   Log.d("TCP", "exceptin");
   e.printStackTrace();
  } catch (IOException e) {
   // TODO Auto-generated catch block
   Log.d("TCP", "exceptin");
   e.printStackTrace();
  }
 }
}

서버 및 클라이언트에서 input , outputstream 은 LogCat을 통해서 생성되는게 보이는데 Object스트림에서 객체가 생성이 안되고

대기를 하는것 같습니다. 원인이 무었일까요?;;ㅠㅠ

(빨간줄에서 진행이 안됨)
LogCat에 Log.d("TCP", "ObjectinputStream");
안찍혀요