2012-08-22 2 views
0

autobahnPython + autobahnJs를 사용하여 채팅 서비스를 설정합니다.autobahnPython에서 클라이언트를 확인하는 방법

이제 클라이언트가 wamp에 연결하면 채팅방 구성원 목록이 자동으로 업데이트되는 기능이 필요합니다. 이 기능을 구현하는 방법은 무엇입니까?

def onSessionOpen(self): 

onSessionOpen 함수에서 동작을 추가한다고 생각하지만 다음에 수행하는 방법을 모르겠습니다.

답변

1

한 가지 접근 방법은 다음과 같습니다. 채팅방 당 전용 PubSub 항목이 있어야합니다. WAMP 클라이언트가 "대화방 주제"에 가입하면 자동으로 해당 대화방 가입자 목록에 추가됩니다. 구독은 self.factory.subscriptions[<topic URI>]에 있습니다. 후자는 공개 객체가 아니라 내부 객체입니다. 우리는 당신이 무엇을하고 싶은지 더 알 필요가 있습니다. 즉 대화방에서 현재 가입자를 얻는 RPC 등이 필요합니다.

면책 조항 : WAMP, Autobahn 및 Tavendo 근무자입니다. 인쇄 "누군가가 chattingroom 가입" MSG = '[7, "http://example.com/event/chattingroom"

+0

@exportSub ("chattingroom") 데프 (자기, topicUriPrefix, topicUriSuffix가) 구독 이 함수에서 onMessage 메서드를 사용하는 방법은 무엇입니까? self.factory.onMessage (msg, False) 이 함수에서 {{ "message": "memberUpdate", "member": "", "caller" user1514160

+1

onMessage를 재정의해서는 안됩니다. 기본 구현에서는 WAMP 메시지를 처리해야합니다. 게시를 맞춤 설정해야하는 경우 https://github.com/tavendo/AutobahnPython/blob/master/examples/wamp/pubsub/custom/server.py에서 예제를 살펴보십시오. – oberstet

관련 문제