2012-03-08 6 views
1

Django와 TornadIO2/Tornado를 사용하여 socket.io 앱을 작성하고 있습니다. TonradIO2 세션에서는 Tornado의 HTTPRequest 객체에 액세스 할 수 있습니다. 그러나 SocketConnection 클래스의 이벤트 처리기에서 장고 요청 개체에 액세스 할 수 없습니다. 이상적으로, 모든 구성된 django middlewhere가 이벤트 객체에 도달하기 전에 요청 객체에서 실행되기를 바랍니다. 명시 적으로 middlewhere라고 부를 수는 있지만 먼저 HTTPRequest 객체를 Django HttpRequest 또는 Django WSGIRequest 객체로 변환해야합니다. 이것을 달성하는 방법에 대한 제안?토네이도 HTTPRequest를 Django HttpRequest 또는 WSGIRequest로 변환하는 방법은 무엇입니까?

답변

1

토네이도가 "토네이도의 HTTP 서버에서 WSGI 호환 기능을 실행 가능하도록 만든"및 "다른 프레임 워크 (Django, web.py 등)가 Tornado HTTP 서버 및 I/O에서 실행되도록하기 위해 WSGIContainer이 있습니다. 고리."

+0

WSGIContainer를 사용하면 TornadIO의 socket.io 프로토콜 처리를 우회합니다. 내가하고 싶은 것은 TornadIO를 socket.io 통신 프로토콜 핸들러로 사용하는 것이지만 이벤트가 내 이벤트 리스너에게 전달되기 전에 장고의 마법을 호출하는 것이다. –

+0

WSGIContainer를 사용하여 끝내고 socket.io 처리를 위해 여전히 TornadIO2를 사용하는 방법을 찾았습니다. 샘플 코드는 https://github.com/tgcondor/django-tornadio2/blob/master/django_tornadio2/management/commands/runserver_tornadio2.py에서 확인하십시오. 답변 해주셔서 감사합니다. –

관련 문제