소켓통신을 통해 챗팅 서버를 구현중인데요


안드로이드(클라이언트) -> MFC(서버) -> 안드로이드(클라이언트)


안드로이드에서 서버로 메세지를 보내면


서버에서는 그 문자열을 다시 안드로이드로 보내주는데요


send버튼을 누르면 서버에는 받아서 리스트에 보여줍니다.


동시에 클라이언트로 전송하는데요


안드로이드에서는 리스트에 넣어 주질 않네요


키보드 창을 내리는 순간에 최신화를 하는 겁니다.


그래서 검색해보니 adapter.notifyDataSetChanged(); 를 해주라고 해서


Send 버튼에 해주니까 또 안되서


리시브 되면 해야겠다 싶어 리시브에 넣으니까 죽네요...


어떻게 해야 될지 감이 안잡힙니다 ㅠ


아래는 리시브 클래스입니다.


public class RecvClient implements Runnable

{

int size;

byte[] w = new byte[1024];


private RecvClient()

{


}


public void run()

{

while (socket != null && socket.isConnected())

{

try

{

size = in.read(w);

if (size <= 0)

continue;


String txtReceive = new String(w, 0, size, "UTF-8");

Dealer p1 = new Dealer(txtReceive);

m_orders.add(p1);

m_adapter.notifyDataSetChanged(); <<<<<=====이부분에서 죽네요 ㅠ


} catch (IOException e)

{

Log.e("TCP", "S: Error", e);

}

}

}

}