繁体   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