簡體   English   中英

如何使用Javascript通過Firefox XPCOM獲取可靠的HTTP消息

[英]How to get reliable HTTP messages via Firefox XPCOM in Javascript

我正在嘗試使用XPCOM在Firefox上的Javascript中編寫小型服務器+客戶端程序。

為了使用Javascript獲得HTTP消息,我正在使用nsIScriptableInputStream接口。 通過read()方法創建的組件會隨機剪切消息,我無法使其可靠。

有人知道一種可靠獲取信息的解決方案嗎? (我已經嘗試過二進制流,同樣失敗。)

J.

我在可靠性方面也遇到了同樣的問題...我最終使用了XMLHTTPRequest,當從XPCOM組件中使用XMLHTTPRequest時,它可以執行跨站點請求。 文檔的第二部分詳細介紹了如何實例化XPCOM版本。

如果您要處理HTTP請求,那么我將看一下POW源代碼和服務器套接字的使用,該服務器套接字在JavaScript中實現了基本的HTTP服務器。 還要查看httpd.js

如果您控制協議(即客戶端和服務器),則強烈建議對服務器到客戶端消息使用Javascript / JSON。 客戶端可以通過向DOM動態添加<script>標記來打開流。 然后,服務器可以發送Javascript命令流,例如:

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

然后,客戶端只需要定義一個receiveMsg函數。 這使您可以依靠快速的瀏覽器代碼來解析消息並確定每條消息的末尾,這時它將為您調用處理程序。

即使您正在使用現有的HTTP協議並且不能使用JSON,還是有某些原因不能使用XMLHttpRequest? 我希望它比某些文獻記載不完整的Firefox XPCOM界面更穩定。

-克雷爾

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM