1

プロジェクトで Perl Dancer を使用しており、SSE を実装したいhttp://www.html5rocks.com/en/tutorials/eventsource/basics/#toc-introduction-differences

私は生き続けようとしているダンサールートを持っています

get '/stream' => sub{
    my $response = Dancer::SharedData->response;
    debug($response->exists);
    $response->status(200);
    $response->content("data: cool test\n\n");
    $response->content_type( 'text/event-stream' );
    $response->header( 'Cache-Control' => 'no-cache' );
    $response->header( 'Connection' => 'Keep-Alive' );
    $response->pass;
    return undef;
};

ダンサー ルートから何かを返すと、接続が閉じられるようです。$response理想的には、それを開いたままにして、後でより多くのデータをプッシュするために保存したいと思います。

更新: さらなる調査では、これはダンサーが使用する PSGI で可能であるように見えます: http://search.cpan.org/~miyagawa/PSGI-1.03/PSGI.pod#Delayed_Reponse_and_Streaming_Body 現時点ではミドルウェアのアプローチを検討しています。

4

1 に答える 1