【发布时间】:2018-06-11 19:35:10
【问题描述】:
好的,所以我正在创建一个应用程序,在其中,客户端需要在服务器启动后立即与服务器通信。所以我对此有两个想法。 (A) 我可以让客户端使用 TCP/IP 向服务器发送一条消息,告诉它它需要什么,然后服务器通过连接将其发回,或者客户端只是从 Web 服务器下载一个文件。
由于两者都通过网络传输相同的文件,因此两者的速度应该相同吧?嗯,我不知道,这就是我问的原因。而且我知道有人可能会说“哦,你自己试试吧”,如果我有一个运行时操作并同时使用它,我相信我可以,但我还没有设置我的服务器,我会如果我提前知道的话,就彻底改变它的运作方式。
那么,是从网络服务器下载更快,还是联系服务器并让服务器发送信息更快?如果从服务器获取信息有什么更好的办法,请告诉我!
【问题讨论】:
-
HTTP 会产生更多的开销,但由于这听起来不像您在交易股票或经营在线赌场,我怀疑您会注意到差异。
-
通过原始套接字发送信息应该比 Web 服务器更快。 Web 服务器通信会产生开销,其中大部分是您不需要的。差异会很明显吗?高度怀疑。在大多数情况下,我倾向于使用 Web 服务器方法,因为它是一种经过测试的协议,具有处理细节的现成方法。如果您滚动自己的传输代码,您将不得不处理消息框架等。
-
@itsme86 所以,(并不是说这完全是一个挫折,只是确保我理解从网络服务器下载)然后我需要一个域名和一个我的文件所在的服务器让它下载,对吧? (也就是说,如果我没有域名并且不想使用一个免费的子域,那就要花钱了)
-
@Jumanji 如果您从外部机器下载并且想要利用 DNS 而不是知道服务器的 IP,您将需要它不管。假设您在网络上的某个地方没有静态 IP……这真的是一个有争议的问题
-
您不一定需要域名,如果您不关心域名,您可以为站点或 CDN 或存储服务(如 Microsoft Azure、Amazon AWS 等)子域。跨度>