我正在编写Qt / C ++应用程序,我计划将一个带有套接字连接的网络部分添加到Qt中实现的服务器。
如果我在本地托管服务器,则没有真正的问题。
但是,如果我想与某些人共享我的应用程序(客户端部分),然后确保我的服务器始终在运行,那么最好的办法就是拥有一台远程服务器。
你可以给我一些线索吗?在这种情况下,我仍然不清楚要采取的步骤。非常感谢! : - )
答案 0 :(得分:2)
通常有3种选择:
<强> 1。本地托管
这是在您的物理位置运行的服务器。您可以根据需要清楚地设置它,服务器将执行您想要的任何操作。但必须在整个时间开启,当没有其他工作时它只会耗电。此外,您必须获得所有硬件(服务器组件),运行软件(操作系统),网络设备和连接(某些路由器,需要特殊设置[NAT,端口转发......],速度和互联网连接的可达性),很可能也是一些安全设备/ SW(防火墙等)。
这是基本开发和测试的最佳选择。但是,一旦服务应该为公众用户服务,那么自己运行服务器并不值得。
<强> 2。远程托管(虚拟化或专用服务器)
这个选项在过去的20 - 30年中名列前茅,其中所有Web developers
和App developers
都将他们的软件放在一些准备好的服务器上。专用是在某些提供商处运行的物理服务器&#39;位置,谁借给你硬件(也许是OS /其他软件的一些许可)。虚拟化机器只有一个硬件(服务器),上面有多个虚拟服务器(更多客户端在同一硬件上运行)。
由于hosting owner
正在执行网络/安全/硬件问题,这通常会带来好处。您只是借用了一些磁盘空间和计算机时间/性能。通常公司将提供整个服务器,您可以在其上设置多个服务,运行多个协议等。
Web和服务器应用程序的单个/少数(不多)实例的理想解决方案。
第3。云托管
这是目前最新的技术(活动时间约为10 - 15年[例如,自2006年以来运行的AWS,自2010年以来的Azure])。数据中心所有者(从2.点开始)变得更好并在服务器上创建了一些应用程序,这将为您完成所有工作(主要是自动)。只需点击几下,服务器就可以运行,应用程序可以部署,使用数据库引擎,网页,物联网中心,...... 很多东西。显而易见的好处是,你只需花费最少的时间来设置东西,它们就会运行。运行时间长(例如:99.9995%)。
专用与优惠之间的区别云:在专用服务器上,几乎可以放置任何符合需求的操作系统,只运行您想要的服务,拥有完全控制权。在云解决方案中,你没有太多的物理和#34;控制和数据无处不在世界各地的数据中心。但通常它是更具可扩展性的解决方案,一旦你的应用程序被公共部门的许多用户使用,这是最好的方法。
共同意识形态:
最常见的解决方案是,在开发时,您可以创建部署,测试,改进的本地服务器。稳定后,在云端或专用/虚拟机上订购服务器并在那里部署。一些开发人员知道他们的应用程序将从开始运行云服务,因此他们订购并开始针对它开发,但在大多数情况下没有必要。