2013-05-19 4 views
5

내 장고 앱을 보완하기 위해 websocket 서버를 실행하려면 autobahn을 사용하고 있습니다. 때로는 Django에서 웹 소켓 서버로 메시지를 보내야하는데, 이는 websocket-client 모듈을 사용하여 잘 작동합니다. RPC/PubSub API가 멋지 기 때문에 대신 WAMP 프로토콜을 사용하고 싶지만 파이썬 클라이언트 코드는 트위스트 프로토콜로 구현되어 있으므로 함수 호출과 같은 명령형을 사용하는 방법을 이해할 수 없습니다. 어떤 외국 이벤트 루프에서. 문서에서 보지 못하는 것이 있습니까? 아니면 아키텍처가 달라야합니까?Autobahn WAMP 서버의 필수 클라이언트?

+2

파이썬의 모든 것이 필수적입니다. 나는 당신이 "막히게"또는 아마도 "동 기적으로"를 의미한다고 생각합니다. –

+0

아키텍처에 관해서는 적어도 2 가지 옵션이 있습니다. a) Autobahn을 별도의 서버로 실행하고 Django에서 클라이언트로 액세스하십시오. b) Django와 Autobahn (서버)을 1 프로세스 내에서 실행합니다. Flask와 Autobahn을 사용하여 b)를 수행하는 예제가 있습니다. https://github.com/tavendo/AutobahnPython/blob/master/examples/websocket/echo_wsgi/server.py – oberstet

+0

@ Jean-PaulCalderone : 맞습니다. 동기식 차단 호출이 필요합니다. – Simon

답변

5

https://github.com/itamarst/crochet 당신을 도울 수 있습니다.

+0

매우 유망 해 보입니다. 감사합니다 .-) – Simon

+0

흥미 롭습니다. 그리고 네,이 lib를 사용하면 원하는대로 할 수있는 것 같습니다 : 귀하의 응용 프로그램 내에서 Autobahn (클라이언트)를 실행하지만 차단 (귀하의 응용 프로그램 POV에서). – oberstet

+0

인스턴스 루프를 실행하지 않고 WAMP 클라이언트를 인스턴스화하고 사용할 수 있습니까? 아니면 Twisted 및 asyncio 구현 이외에 완전한 "eventloop-less"구현을 생성해야합니까? – Petri

관련 문제