안드로이드 개발 질문/답변
(글 수 45,052)
현재 서버 / 클라이언트 소켓 통신으로 뭔가 작업하는 걸 만들고 있는데요..
서버에 여러개의 클라이언트가 동시 접속하고 서로 메세지를 주고 받고 하는 건 잘 됩니다
그런데 현재 방식이..
클라이언트에서 메세지를 입력하면 -> 서버로 전송되었다가 -> 전체 클라이언트 발송 됩니다
그런데 특정 클라이언트를 골라서 메세지를 보내고 싶은데 어떤방법으로 접근하면 되는지 궁금합니다 ^^;
소스는 위와 같구요
HashMap 의 특정 키값만 찾아서 보내면 될까 싶어서
client.get(key값) 으로 해봤는데요 아무 반응이 없네요
이런 방법이 잘못된 것인지.. 맞게 했는데 key값을 입력하는 방법이 따로 있는건지 전혀 모르겠습니다 ㅡㅜ
답변 좀 부탁드립니다~
서버에 여러개의 클라이언트가 동시 접속하고 서로 메세지를 주고 받고 하는 건 잘 됩니다
그런데 현재 방식이..
클라이언트에서 메세지를 입력하면 -> 서버로 전송되었다가 -> 전체 클라이언트 발송 됩니다
그런데 특정 클라이언트를 골라서 메세지를 보내고 싶은데 어떤방법으로 접근하면 되는지 궁금합니다 ^^;
HashMap client = new HashMap<String, PrintWriter>(); Iterator<String> iterator = client.keySet().iterator(); while(iterator.hasNext()) { PrintWriter writer = (PrintWriter) client.get(iterator.next()); writer.println(message); writer.flush(); }
소스는 위와 같구요
HashMap 의 특정 키값만 찾아서 보내면 될까 싶어서
client.get(key값) 으로 해봤는데요 아무 반응이 없네요
이런 방법이 잘못된 것인지.. 맞게 했는데 key값을 입력하는 방법이 따로 있는건지 전혀 모르겠습니다 ㅡㅜ
답변 좀 부탁드립니다~
그냥 키값을 넣어주니까 한사람에게만 잘 가네요;;;
HashMap client = new HashMap<String, PrintWriter>();
Iterator<String> iterator = client.keySet().iterator();
PrintWriter writer = (PrintWriter) client.get(key값);
writer.println(message);
writer.flush();
}