C# 通过网络发送文件比下载快吗?

C# 通过网络发送文件比下载快吗?,c#,server,ftp,client,C#,Server,Ftp,Client,好的,我正在创建一个应用程序,在这个应用程序中,客户端需要在服务器启动后立即与服务器通信。所以我有两个想法。(A) 我可以让客户端使用TCP/IP向服务器发送一条消息,告诉它需要什么,然后服务器通过连接发回,或者客户端只是从web服务器下载一个文件 因为两者都在网络上传输相同的文件,所以两者的速度应该相同,对吗?我不知道,这就是为什么我要问。我知道有人可能会说“哦,那你自己试试吧”,我相信如果我有一个运行时操作,并将其与两者一起使用,我会这样做,但我还没有设置我的服务器,如果我提前知道,我会改变

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

因为两者都在网络上传输相同的文件,所以两者的速度应该相同,对吗?我不知道,这就是为什么我要问。我知道有人可能会说“哦,那你自己试试吧”,我相信如果我有一个运行时操作,并将其与两者一起使用,我会这样做,但我还没有设置我的服务器,如果我提前知道,我会改变它的运行方式


那么,从web服务器下载,或者联系服务器并让其通过网络发送信息是否更快?如果有更好的办法从服务器获取信息,请告诉我

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

  • 客户端建立到服务器的TCP套接字
  • 客户端发送文件请求
  • 服务器用文件进行响应

  • 使用HTTP作为请求的格式不会改变操作的性质。您确实需要处理通过web服务器逻辑的开销,但与实际的网络操作相比,这几乎可以忽略不计;从网络的角度来看,相同:

  • 客户端建立到服务器的TCP套接字
  • 客户端发送文件请求
  • 服务器用文件进行响应

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

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