마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

socket프로그래밍 클라이언트에서 객체를 읽지 못하는거 같아요...

0 추천

 

 

 

첫번째가 서버부분 두번쨰가 클라이언트 부분이에요..

 

클라이언트에서 받은 객체를 tostring으로 한 뒤 

if문을 사용하여 ss가 들어가면 outstream1을 flush하고

else는 outstream2를 flush하게 하였는데...

막상 클라이언트에서 전송을 하면 서버에 도착하고 보내는 것 같은데 클라이언트 텍스트뷰에는 아무것도 뜨지 않네요..

 

저 if else문을 사용하지않고 outstream 한개만 보냈을때는 잘 됐는데...혹시 도움을 받을 수 있을까요?

띠퐁이 (150 포인트) 님이 2014년 4월 17일 질문

1개의 답변

+1 추천
 
채택된 답변
클라이언트에서 받은 객체를 String 객체에 넣는 부분에서 obj.toString으로 하셨는데, 이렇게 하면 String 객체에는 obj 객체의 해쉬값이 들어가지 않나요?

(String)Obj 등으로 객체를 형변환을 하여 객체를 대입하여야 할 것 같네요.
인연 (31,880 포인트) 님이 2014년 4월 18일 답변
띠퐁이님이 2014년 4월 19일 채택됨
답변감사합니다!!

obj.string();을 (string)으로 해보았는데도 여전히 안되네요..ㅜㅜ
서버쪽에서 버튼을 클릭할때만 데이터를 송신/수신 하네요. 데이터를 수신하는 부분을 따로 구현하셔서 클라이언트에서 데이터를 보낼 때 받을 수 있도록 하여야 하지 않을까요?
먼저 답변 감사합니다!

서버쪽 데이터 수신부분을 따로 해야한다는 말씀이신가요?ㅜㅜ

어떤 형태인지 감이 오질 않네요...
서버쪽에 통신을 위한 부분을 쓰레드로 분리하고 데이터 수신을 위해 대기(클라이언트로 같이 한거 같은데 잘려서 확실하게 모르겠네요.)를 해야지 서버도 클라이언트에서 보내주는 메세지를 받을 수 있게됩니다. 그리고 현재 네트워크 통신이 메인 쓰레드에서 일어나고 있는데(서버쪽) 이것은 권장하지 않는 방법입니다. 현재 프로젝트 타켓 버전을 몇으로 했는지는 모르지만 높아지면 이 문제때문에 또 멈추는 상황이 발생할 것입니다.
아 권장하지않는  부분인지는 몰랐네요

감사합니다!!
...