안드로이드 개발 질문/답변
(글 수 45,052)
제가 지금 원격 제어프로그램을 만들고있습ㄴㅣ다.
pc화면 전송을 위해서 쓰래드를 이용해서 컴퓨터 화면을 캡쳐해서
안드로이드로 보내고 있는데요
만약에 이미지 한장을 보내고 아웃풋 스트림을 닫을경우는 정상적으로
애뮬레이터에 이미지가 뜨는데요
루프를 이용 할 경우 (소켓을 안닫고 같은 아웃풋 스트림으로 계속 이미지전송)에는
애뮬레이터에 이미지가 안뜨더라구요..
제 나름데로 생각한건 이미지 한장이 다 갔다는 신호의 부재(널이라든가..) 때문에 그런거 같은데
이미지 보낼때는 JpegImageEncoder 를 사용 했구요
애뮬레이터 측에서는 BitmapFactory.decodeStream을 이용해서 만들었습니다.
그래서 이미지 한장을 받을때마다 소켓을 열고 받고 닫고를 반복해서 하고있는데
속도가 실망적일 정도라..(이미지 크기를 1/4가량 줄여도 차이가 없고..)
연결을 유지한 상태에서 계속 보내면 좋을듯 싶은데...
어떻게 해야 좋을지 잘 모르겠네요...ㅠ
담주가 졸작 발표하는 날인데..갑갑한게..물어볼 만한 곳도 없어서 이렇게
끄적여 봅니다.ㅠ
뭔가 해결책이 될만 하다 싶으시면 좀 가르쳐 주세요.ㅠ
pc화면 전송을 위해서 쓰래드를 이용해서 컴퓨터 화면을 캡쳐해서
안드로이드로 보내고 있는데요
만약에 이미지 한장을 보내고 아웃풋 스트림을 닫을경우는 정상적으로
애뮬레이터에 이미지가 뜨는데요
루프를 이용 할 경우 (소켓을 안닫고 같은 아웃풋 스트림으로 계속 이미지전송)에는
애뮬레이터에 이미지가 안뜨더라구요..
제 나름데로 생각한건 이미지 한장이 다 갔다는 신호의 부재(널이라든가..) 때문에 그런거 같은데
이미지 보낼때는 JpegImageEncoder 를 사용 했구요
애뮬레이터 측에서는 BitmapFactory.decodeStream을 이용해서 만들었습니다.
그래서 이미지 한장을 받을때마다 소켓을 열고 받고 닫고를 반복해서 하고있는데
속도가 실망적일 정도라..(이미지 크기를 1/4가량 줄여도 차이가 없고..)
연결을 유지한 상태에서 계속 보내면 좋을듯 싶은데...
어떻게 해야 좋을지 잘 모르겠네요...ㅠ
담주가 졸작 발표하는 날인데..갑갑한게..물어볼 만한 곳도 없어서 이렇게
끄적여 봅니다.ㅠ
뭔가 해결책이 될만 하다 싶으시면 좀 가르쳐 주세요.ㅠ
데이터를 어떻게 받는지 루틴을 한번 살펴보시고요....
끊은다음에 다시 받으면 정상적으로 보인다..... 혹시 tcp/ip에 패킷의 경계가 없다는거는 아시죠?
1,2,3,4,5번 이렇게 보냈을경우 1,2,3번이 한꺼번에 붙어올수도 있습니다.
이문제는 아닌지요? 어떤 루틴이 틀렸는지는 설명만 들어서는 모르겠네요...
일단 프로그램 기본은 확실하다고 가정하고 예측해봅니다. ^^;