簡體   English   中英

是否可以通過http將數據從客戶端流傳輸到服務器?

[英]Is it possible to stream data from client to server via http?

我想將數據從客戶端(台式機或移動設備)流式傳輸到托管服務器。 它不是大量數據,每1/10秒1個字節-但是數據需要立即進行流傳輸(不進行緩沖),並且連接需要長時間保持活動狀態(例如最多10分鍾)。

由於服務器是托管服務器,因此我無法使用套接字-只能使用http。

我知道在服務器端,如果我要連接到客戶端,則可以使用持久連接並僅寫入響應流來執行此操作。

但是,如果客戶端與服務器保持持久連接並正在寫入請求流,是否有相反的方法呢?

澄清:我不必將客戶端->服務器通信作為持久性HTTP連接進行,我只是想知道是否可能,這樣我就可以與計划中的服務器->客戶端持久性HTTP連接保持對稱。

從我聽到的消息看來,我應該只能夠執行單個http帖子並實現相同或相似的延遲。

我將繼續回答我自己的問題,答案似乎是:

從客戶端到服務器建立持久的http連接在技術上是可行的 ,但是至今還沒有人實現,因為使用正常的方法創建單個http請求似乎對於每個人的目的來說都是足夠快的。

這就是我最終要做的事情,僅使用WebRequest.Create和HttpWebRequest類並相信該框架正在處理KeepAlive。 在我的原型中,這似乎足夠快,盡管實際性能仍有待觀察。

也許WebSocket是有用的。 它使您可以通過HTTP創建“套接字”,因此可以使用它通過HTTP將數據從客戶端發送到服務器。

AFAIK,當WCF托管在IIS中時,流式傳輸不起作用。

我發現這篇CodeProject文章說它在WCF 4.5中已修復。

您能否讓客戶每1/10秒撥打一次新電話? 如果您使用的是HTTP 1.1,則TCP連接應保持打開狀態。

我不確定這是否是一個好用例,但是SignalR可能適合您。

暫無
暫無

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

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