websockets의 재미있는 부분은 본질적으로 원하지 않는 콘텐츠를 서버에서 브라우저로 바로 전송하는 것입니까?websockets 및 python/django (/ twisted?)로 이동하기
음, 저는 Gregor Müllegger의 django-websocket을 사용하고 있습니다. Django에서 웹 소켓을 만들 때 정말 멋진 초기 균열입니다.
나는 "안녕하세요 세상"을 성취했습니다. 이 작동 방식은 요청이 websocket 인 경우 요청 객체에 websocket이라는 객체가 추가됩니다. 따라서 웹 소켓을 해석 할 때 다음과 같이하면됩니다.
request.websocket.send('We are the knights who say ni!')
잘 작동합니다. 브라우저에서 메시지를 다시 매력으로 보았습니다.
하지만 브라우저에서 요청하지 않고 처리하고 싶다면 어떻게해야합니까?
OK, 그래서 먼저 내가 세션 사전에 웹 소켓을 저장합니다
request.session['websocket'] = request.websocket
그런 다음, 쉘에, 내가 가서 세션 키에 의해 세션을 잡아. 물론 세션 사전에는 websocket 객체가 있습니다. 행복! 그러나
, 내가하려고 :
>>> session.get_decoded()['websocket'].send('With a herring!')
내가 얻을 :
Traceback (most recent call last):
File "<console>", line 1, in <module>
error: [Errno 9] Bad file descriptor
슬픈. :-(
좋아요, 그래서 소켓에 대해서는별로 몰라요.하지만 저는 디버거에서 주위를 킁킁 거리며 알기도합니다. 디버거에있는 소켓이 내가 세션에 저장 한 웹 소켓에서 잡고 하나가 전략 중 한 동안 요청에서 정품 웹 소켓은) -1 = = 6 전략 중하고있다.
소켓 지향적 인 사람이 물건을 분류 나를 도와 드릴까요?
@ 엘리 콰이트 당신이 현상금을 수여하지 못했습니다. – pradyunsg
@paddila : 현상금을 여는 이유는 "답장 중 하나 이상이 모범적이며 가치가 있습니다. 추가 현상금. " 시스템이 나를 허용하자마자 현상금을 수여 할 것입니다. –