안드로이드 개발 질문/답변
(글 수 45,052)
이번에 서버와 소켓통신을 하고 있습니다.
인터넷에서 돌아다니는 소스를 가지고 우선 테스트 하고 있는데요
서버에 데이터를 전송하는 것 까지는 되는데
서버에서 데이터를 수신하는 부분이 안되고 있습니다.
책을 뒤져보고 인터넷을 뒤져봐도
BufferedReader in = new BufferedReader(new InputStreamReader(socket.getInputStream()));
이것을 가지고 리시브 하는것 같은데 저는 안되네요
이분에서 막히고 있습니다.
서버에서 어떻게 하면 데이터를 받을 수 있을까요?
String 형으로 서버에서 보내 주고 있습니다.
인터넷에서 돌아다니는 소스를 가지고 우선 테스트 하고 있는데요
서버에 데이터를 전송하는 것 까지는 되는데
서버에서 데이터를 수신하는 부분이 안되고 있습니다.
책을 뒤져보고 인터넷을 뒤져봐도
BufferedReader in = new BufferedReader(new InputStreamReader(socket.getInputStream()));
이것을 가지고 리시브 하는것 같은데 저는 안되네요
이분에서 막히고 있습니다.
서버에서 어떻게 하면 데이터를 받을 수 있을까요?
String 형으로 서버에서 보내 주고 있습니다.
2011.01.20 14:46:01
저는 안펍에서 소켓통신에 관련된 것에 대한 질문을 볼 때마다 약간 아쉬운 부분이 있습니다.
일단 관련된 소스와 어떤 에러메세지가 나왔는지 정도는 알려주셔야 할텐데..
그냥.. "안되네요" 라고 만 작성해주시면, 안펍에 어떤 초고수 개발자가 있다고 한들 아무런 답변도
드릴수 없다고 생각합니다ㅎㅎ
일단은 in.readLine()이나 in.read() 메소드를 제대로 호출하셨는지 확인해 보셨으면 합니다~~
그리고 제 생각엔 소켓 통신에서 가장 중요한 것은 프로토콜이라고 생각합니다.
지금이야 서버 하나와 클라이언트 하나가 붙어서 통신을 하니깐 data만 전송하면 끝일 수도 있게지만,
대부분의 경우는 서버 소수의 다수의 클라이언트가 통신을 하게 되거든요..
그러면 데이타 유효성검사, 세션아이디, 전송타겟, 명령어, 데이타 ....... 등등이
프로토콜 안에 들어가야 할 수도 있습니다.
현재 개발 초기이신것 같은데 최대한 확장 가능하게 설계 및 코딩을 하시지 않으면,
나중에는 현재까지 작성된 소스를 뒤엎고 처음부터 다시 시작해야 할 수도 있습니다ㅎㅎ



