안드로이드 개발 질문/답변
(글 수 45,052)
소켓 통신으로 값을 주고 받으면서 일을 하는데요
인풋 스트림에서 읽은 값을 토대로 실행을 합니다.
input.read();근데 이문장을 와일문 없이 그냥 쓰면 여기서 멈춰 버림니다. 다른 와일문을 써줘야 하나요 궁금합니다.
제가 질문 드리고하자하는 것은 소켓통신을 통해서
input.read();이걸 연속적으로 읽고 싶습니다. 쓰레드를 사용 해야 하는지 아니면 다른방법이 있으시면 좀 알려주시면 감사하곘습니다.
인풋 스트림에서 읽은 값을 토대로 실행을 합니다.
input.read();근데 이문장을 와일문 없이 그냥 쓰면 여기서 멈춰 버림니다. 다른 와일문을 써줘야 하나요 궁금합니다.
제가 질문 드리고하자하는 것은 소켓통신을 통해서
input.read();이걸 연속적으로 읽고 싶습니다. 쓰레드를 사용 해야 하는지 아니면 다른방법이 있으시면 좀 알려주시면 감사하곘습니다.
2011.02.10 16:25:23
만들고자 하시는게 어떤것인지 알아되는데 스트림같은경우 일렬로 데이터가 쭈욱 들어온다고 생각하시면 됩니다.
그걸 read()로 읽으면 byte변수로 1바이트씩 끊어서 읽어오게 되는거죠 read()의 return 값이 -1이 되면 데이터를 다 받은겁니다.
Dar님께서 원하는 행동을 보자면 반복도중 어떤 시점에 특정한 일을 해야된다는건데
가령 개행인 \r\n이 들어오면 그전까지 읽던 데이터로 어떤 특정행위를 하게 할수 있겠죠
주로 메신저류에서 이런경우가 많습니다. MSN이나 네이트온같은경우는 \r\n(개행)이 들어오면
그 데이터로 프로토콜을 분석하여 해당되는 작업을 진행합니다.



