2012-03-13 5 views
0

私はデバッグ/管理ノードサーバーを作成しています。これにより、ユーザーはマシン上で長時間実行されるプロセスを実行できます。子プロセスの出力を、彼らがアクションを開始したフォームにストリームしたいと思います。Javascriptを使用したHTTP Body Streaming

私はソケットでこれを行うことができますが、クライアントにチャネルをサブスクライブする必要があり、1つのクライアントとのみ関係がある場合はチャネル全体にメッセージを投稿する必要があります。

httpボディをクライアントにストリーミングできるようにしたいと考えています。私はノードでかなり簡単にこれを行うことができます:リクエストのソケットに書き続けてください。

XhrHttpRequestを使用してWebサービスを呼び出し、新しいデータが利用可能になるたびにイベントを発生させ、終了時に最終イベントを発生させる方法はありますか? jQueryで可能ですか?

これは、実際のリアルタイムアップデートと実際には同じではないことに注意してください。ソケットは良い選択です。これは単一の要求です。私はちょうど応答を断片的に得たいと思う。

+1

は、[ロングポーリング](http://stackoverflow.com/questions/333664/simple-long-polling-example-code)のように聞こえる – Marshall

+0

私はそれのように聞こえるが、私は投票したくない。私は周りの単一の要求ソケットへの参照を保持し、それにデータをポンピングし続けます。ロングポーリングには、データを保持するための他の方法が必要です(要求の範囲だけではありません) –

+0

ソケットを使いたくはありませんが、これが最善のようです。 [socket.io](http:// socket)経由でクライアントに接続させることができます。io /)し、終了するまでデータを単一の(個々の)ソケットに送信します。 – Marshall

答えて

1

私が望んでいたことはありえません。xhr httpリクエストを作成して一度にチャンクを解析してオープンにすることはできません。ここで

が人々の提言をまとめたものである

  1. 使用はとにかくsocket.io、およびプッシュイベントをサポートするために、あなたのアーキテクチャを変更します。
  2. socket.ioを使用しますが、あたかもurlを打っているかのように、リクエストを行います。 socket.ioのサーバー側に小さなURLルーターを作って、必要なものをすべてストリーミングしてください。
  3. 最初のhtmlページを開いたままにして、私の実装では実現できません。
  4. (3)が、非表示のiframeにあります。

私は、今日、あなたは断絶、送信されたイベント(SSE)を使用することができ、この質問へのアップデートとして2

-1

何年か前、私はオープンなhttpレスポンスで "javascript"ストリーミングを使用しました。 (Ajaxが登場する前の年)

ここでの考え方は:あなたはクライアントが反応するプロセスの各ステップで

<script type="text/javascript">do js stuff here</script> 

のチャンクを書き込みます。

まだ動作する可能性があります。

+0

ページに情報を書き込むことは難しくありません。それは、サーバーから時間の経過とともにそれの塊を取得しています。 –

+0

私は

  • 11. JavaScriptを使用したボールアニメーション
  • 12. javascriptのベストメソッドを使用したHTTP基本認証
  • 13. JavaScriptを使用したJavaScriptの挿入
  • 14. Flafka(Http - > Flume - > Kafka - > Spark Streaming)
  • 15. JavaScriptを使用してhttpとhttpsでjavascriptをスクロールする
  • 16. javascriptを使用したラジオボタン
  • 17. jspを使用したjavascript
  • 18. javascriptを使用してbodyタグの値を取得する方法は?
  • 19. AKKA-HTTPを使用したCSVソースのストリーミング
  • 20. java.lang.NoSuchMethodError Jackson Core Streaming APIを使用
  • 21. twitter streaming API(Python 3を使用)
  • 22. JavaScriptでのJSON httpリクエストの使用
  • 23. org.simpleframework.xmlを使用したRetrofit BodyクラスのXMLオーダー
  • 24. MooToolsを使用したRequest Body *内のPOST JSON *
  • 25. daskを使用した効率的なn-bodyシミュレーション
  • 26. Javascriptを使用したブートストラップカラムフィルタ
  • 27. Observablesを使用したHTTP Observableを使用したHTTPサブスクリプションのデータが表示されていません
  • 28. Wicket:templatized javascript in <body>?
  • 29. $( 'body')に相当するJavascript
  • 30. javascript - bodyタグに移動しますか?