2014-05-23 2 views
2

나는 ejabberd를위한 몇 개의 모듈/필터를 작성하려고한다. php에서 성공적으로 외부 인증을 구현 한 후 나는 PHP로 모든 것을 할 수 있다는 큰 희망을 가지고있었습니다. > PHP에ejabberd modules in PHP

PHP) (shell_exec를 통해 Ejabberd 접근/간부 인()를 사용하여 ejabberdctl

PHP 데이터를 전송 -

Ejabberd 후크 :

무엇을 달성하려고하면 다음은 "후크"에 응답.

거의 질문에 대한 대답 인이 SO 질문 (How to filter messages in Ejabberd)이 발견되었지만 데이터가 PHP로 전달되는 부분은 놓친다.

그래서 제 질문은 다음과 같습니다. 링크 된 질문에서 나는 (얼랑에서 PHP로 데이터를 보낼 수있는 방법, 즉 "%%가 패킷을 드롭하도록 수정 패킷 또는 원자 drop을 반환해야"

  1. 부분)

  2. 여기서 ejabberd 바이너리 프로토콜에 대한 일부 사양/설명서를 찾을 수 있습니까?

+0

erlang에서 모듈을 직접 작성하는 데 문제가 있습니까? – vitalyster

+0

문제는 ** Erlang **입니다. – DuppyWeb

답변

0

ejabberd를 사용하여 xmpp 내부 도메인의 메시지를 필터링하는 것은 erlang 모듈을 만드는 경우에만 가능합니다.

구성 요소 접근 방식을 시도해 볼 수 있습니다. 구성 요소는 하위 도메인에 있으며 전달되는 메시지를 필터링 할 수 있습니다. 채팅의 모든 상대방과 대화해야하는 프록시 도메인과 같이 사용해야합니다. 구성 요소는 스탠자에 대한 구성 요소 인터페이스에서 청취하는 프로세스와 같은 데몬이어야합니다. 이것은 PHP에서 쉽지 않습니다. 나는 이것을 위해 중간 파이썬 스크립트를 사용했다.

필요에 따라 mod_logxml을 사용하여 XML 파일의 모든 스탠자를 덤프하고 데몬으로 파일을 읽을 수도 있습니다.

실제로 노드에서 모든 것을 다시 작성했습니다.