【问题标题】:Is Sending a File Over a Network Faster Than Downloading?通过网络发送文件是否比下载更快?
【发布时间】:2018-06-11 19:35:10
【问题描述】:

好的,所以我正在创建一个应用程序,在其中,客户端需要在服务器启动后立即与服务器通信。所以我对此有两个想法。 (A) 我可以让客户端使用 TCP/IP 向服务器发送一条消息,告诉它它需要什么,然后服务器通过连接将其发回,或者客户端只是从 Web 服务器下载一个文件。

由于两者都通过网络传输相同的文件,因此两者的速度应该相同吧?嗯,我不知道,这就是我问的原因。而且我知道有人可能会说“哦,你自己试试吧”,如果我有一个运行时操作并同时使用它,我相信我可以,但我还没有设置我的服务器,我会如果我提前知道的话,就彻底改变它的运作方式。

那么,是从网络服务器下载更快,还是联系服务器并让服务器发送信息更快?如果从服务器获取信息有什么更好的办法,请告诉我!

【问题讨论】:

  • HTTP 会产生更多的开销,但由于这听起来不像您在交易股票或经营在线赌场,我怀疑您会注意到差异。
  • 通过原始套接字发送信息应该比 Web 服务器更快。 Web 服务器通信会产生开销,其中大部分是您不需要的。差异会很明显吗?高度怀疑。在大多数情况下,我倾向于使用 Web 服务器方法,因为它是一种经过测试的协议,具有处理细节的现成方法。如果您滚动自己的传输代码,您将不得不处理消息框架等。
  • @itsme86 所以,(并不是说这完全是一个挫折,只是确保我理解从网络服务器下载)然后我需要一个域名和一个我的文件所在的服务器让它下载,对吧? (也就是说,如果我没有域名并且不想使用一个免费的子域,那就要花钱了)
  • @Jumanji 如果您从外部机器下载并且想要利用 DNS 而不是知道服务器的 IP,您将需要它不管。假设您在网络上的某个地方没有静态 IP……这真的是一个有争议的问题
  • 您不一定需要域名,如果您不关心域名,您可以为站点或 CDN 或存储服务(如 Microsoft Azure、Amazon AWS 等)子域。跨度>

标签: c# server ftp client


【解决方案1】:

您的两个操作是;从网络的角度来看,相同:

  1. 客户端建立到服务器的 TCP 套接字
  2. 客户端发送文件请求
  3. 服务器响应文件

使用 HTTP 作为请求的格式不会改变操作的性质。您确实必须处理通过 Web 服务器逻辑的开销,但与实际的网络操作相比,这几乎可以忽略不计。

【讨论】:

    猜你喜欢
    • 2015-06-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-11-24
    • 2019-05-01
    • 2012-01-24
    相关资源
    最近更新 更多