2013-02-26 1 views
1

Openfire를 서버로 사용하는 Intra Office Messaging System 용 클라이언트 응용 프로그램을 구축 중입니다.Smack API를 사용하여 사용자 명부에 사용자 자동 추가

Roster rs= con.getRoster(); 
Collection<RosterEntry> list=rs.getEntries(); 
System.out.println("\n\n" + list.size() + " buddy(ies):"); 
for (RosterEntry r : list) { 
    System.out.println(r.getName()); 
} 

을하지만 이것이의 IOM (인트라 오피스 메시징 시스템)이기 때문에, 요구 사항은 개의 다른입니다 : 명단 클래스를 사용하면 내가 사용하는 친구 목록 (친구/연락처를) 찾을 수 있습니다. 연락처를 추가 할 필요가 없습니다. 모든 사용자는 다른 모든 사용자와 그의 상태를 볼 수 있어야합니다. 이것을 달성 할 수있는 방법이 있습니까? 이 작업을 수행하는

+0

질문에 대해 더 자세하게 설명하는 제목을 찾으십시오. – Flow

답변

2

한 가지 방법은 AD와의 Openfire를 통합하는 것입니다. 하나의 공통 그룹에 모든 사용자를 추가 한 다음 해당 그룹을 클라이언트에서 가져옵니다. 그렇게하면 사용자는 자동으로 해당 그룹의 회원으로 나타나며 온라인 상태는 해당 그룹의 모든 회원이 사용할 수 있습니다. 새로운 사용자가 추가 될 때마다이 그룹의 회원이됩니다. 이렇게하면 모든 사용자가 사용자 목록에서 한 번에 가져올 수 있습니다. 여기

는 동일한에 대한 참조 링크입니다 : Openfire Automatic Roster Population via Shared Groups 여기의 Openfire 코드 및 변경 등록 절차가 자동으로 새로 목록을 버디 모든 사용자를 추가하는 코드를 추가하는 업데이트하는 것입니다 integrate Openfire with LDAP

또 다른 방법에 대한 가이드 등록 된 사용자. 클라이언트 측에서 동일한 코드를 수행 할 수도 있습니다. 그러나 이것은 시스템의 사용자 수가 증가함에 따라 문제가 발생할 수 있기 때문에 계속 진행하기에 좋은 방법은 아닙니다.

+0

나는 대안을 생각하고있다. 사용자의 버디 목록에 있는지 여부에 관계없이 등록 된 모든 사용자에게 메시지를 브로드 캐스트 할 수 있습니까? – kunal18

+0

@stalin은 브로드 캐스트 플러그인 사용을 고려합니다. –

+1

나는 이것을하기로 결정했다 : openfire 서버를위한 "등록 플러그인"플러그인이있다. 등록 된 모든 사용자가 추가되어야하는 기본 그룹을 설정할 수 있으며, 이것이 나의 문제를 해결한다! – kunal18