2013-08-04 2 views
1

websocket을 통해 데이터를 제공하는 토네이도 애플리케이션이 있습니다. 다른 응용 프로그램에서 입력을 읽고 스레드를 개체를 큐로 밀어 넣는 별도의 차단 스레드가 있으며 해당 스레드에 대한 차단 수신기가있는 다른 스레드가 있습니다.토네이도에 맞춤 이벤트를 추가하는 방법

내가 원하는 것은 리더 스레드가 토네이도에 메시지를 보내면 대기열에 새 항목이 표시되고 토네이도가 websocket을 통해 수신 대기중인 클라이언트에게 메시지를 전달할 수 있습니다.

내가 할 수있는 유일한 방법은 독자 스레드에 websocket 클라이언트를두고 websocket을 통해 토네이도에 정보를 전달하는 것입니다. 그러나 그것은 내가 websocket을 사용하지 않고 이것을 할 수 있어야하고 어떻게 든 토네이도가 비 websocket 비동기 이벤트를 듣고 콜백을 호출하는 것으로 보입니다.

하지만 어떻게하는지 설명 할 수는 없습니다.

+0

어떤 OS입니까? 리눅스라면 epoll의 일처럼 들린다. 그런 다음 출력물을 사용할 수있게되면 이벤트가 전송됩니다. 그러면 대기열을 제거 할 수 있습니다. – aychedee

+0

이것은 주로 Windows에서 실행되는 크로스 플랫폼입니다. – user350325

답변

1

질문을 올바르게 이해하는 경우 대기열에서 읽는 스레드에서 IOLoop.add_callback으로 전화하면됩니다. 이렇게하면 IOLoop의 스레드에서 콜백이 실행되어 클라이언트 websocket 연결에 메시지를 쓸 수 있습니다.

관련 문제