2008-09-16 6 views
1

XPCOMを使用してFirefox上のJavascriptで小さなサーバー+クライアントをプログラミングしようとしています。JavascriptでFirefox XPCOM経由で信頼性の高いHTTPメッセージを取得する方法

JavascriptでHTTPメッセージを取得するには、nsIScriptableInputStreamインターフェイスを使用しています。 このf ** ingコンポーネントは、read()メソッドによってランダムにメッセージを切断し、信頼できるものにすることはできません。

信頼できる情報を得るための解決策を知っている人はいますか? (私はすでに、バイナリストリーム、同じ失敗を試してみました。)

J.

答えて

0

あなたは、私は非常にあなたのサーバーするには、JavaScript/JSONを使用することをお勧めします(つまり、クライアントとサーバーの両方、である)プロトコルをコントロールしている場合-clientメッセージ。クライアントは、<スクリプト>タグをDOMに動的に追加することによってストリームを開くことができます。サーバーは、次のようなJavascriptコマンドのストリームを送信できます。

receiveMsg({type:"text", content:"this is my message"}); 

クライアントはreceiveMsg関数を定義するだけです。これにより、高速のブラウザコードを使用してメッセージを解析し、各メッセージの終わりがどこでハンドラを呼び出すかを判断できます。

既存のHTTPプロトコルを使用していて、JSONを使用できない場合でも、XMLHttpRequestを使用できない理由はありますか?私はそれがいくつかの文書化されていないFirefox固有のXPCOMインターフェイスよりも安定していると期待します。

--Chouser

1

私は信頼性の欠如と同じ問題を抱えていた...私は、クロスサイトリクエストを行うことができますXPCOMコンポーネントから使用XMLHTTPRequestをし、使用して終了しました。 docsの第2部では、XPCOMのバージョンをインスタンス化する方法について詳しく説明します。

HTTPリクエストを提供したい場合は、POWソースコードと、JavaScriptで基本的なHTTPサーバーを実装するserver socketsを使用してください。チェックアウトもhttpd.js