문제

Smack API를 사용하여 Java에서 XMPP 클라이언트를 작성하고 있습니다.

각 사용자에 대한 명단 청취자를 등록했으며 Smack API가 전화를 걸었습니다 ...

public void entriesAdded(Collection arg0) {}

... 매번 명단이 추가 될 때마다.

데이터베이스가 변경되지만 SMACK API CreateEntry () 메소드를 통해서는이 리스너가 설정 될지 아는 사람이 있습니까?

기본적으로 XMPP 클라이언트를 웹 사이트에 연결하고 싶습니다. 웹 사이트 친구 목록에 누군가를 추가 할 때 사이트가 클라이언트에 알리기를 원합니다. 소켓을 설정하거나 PHP를 사용하여 XMPP 서버에 로그인하는 대신 데이터베이스를 수정하는 것이 작동하기를 바랍니다.

이 작업이 작동합니까, 아니면 클라이언트가 데이터베이스를 지속적으로 변경하여 변경 사항을 폴링하지 않고이 작업을 처리 할 수있는 다른 방법이 있습니까?

도움이 되었습니까?

해결책

데이터베이스를 변경하는 것은 클라이언트 라이브러리이기 때문에 Smack과 직접 관련이 없습니다. 데이터베이스가 없습니다. 데이터베이스는 서버에서 사용 및 액세스 할 것이며 서버에 따라 DB를 변경했을 때 서버가 메시지를 게시 할 수있는 기능이있을 수 있습니다. XMPP 서버에 실제로이 기능이 있는지 모르겠습니다.

사용중인 서버의 기능을 확인하고 서버 자체의 확장자를 사용하여 명단 항목을 추가해야합니다. XMPP 서버와 데이터베이스가 동기화되지 않았을 가능성이 높기 때문에 데이터베이스를 직접 변경하는 것은 실제로 진행되는 방식처럼 들리지 않습니다.

데이터베이스를 폴링하는 클라이언트의 경우 XMPP 서버와 잠재적으로 웹 서버가 사용하는 경우 클라이언트가 데이터베이스에 직접 액세스 할 수있는 좋은 아이디어처럼 들리지 않습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top