首页 > 解决方案 > 部署在云平台上的 TCP 和 HTTP 服务器

问题描述

在大学里,我有一个项目来创建和部署(在一些免费的云平台上)一个 TCP 和 HTTP (Node.js) 服务器一起工作。

在我的本地机器上运行这些我不会遇到问题,但是当我必须将它们部署在像 Heroku 这样的云平台上时,就会出现一些障碍。

关于项目的第一个小介绍。我有代表 TCP 客户端的嵌入式设备。我本可以让它们成为服务器,但由于它们位于 NAT 之后,因此无法在任何给定时间点连接到它们。因此我决定让它们成为 TCP 客户端。这些嵌入式 TCP 客户端与部署在云平台上的 TCP 服务器建立 TCP 连接。然后他们可以从服务器发送和接收信息,而无需拥有静态公共 IP。另一方面,TCP 服务器也必须能够处理 HTTP 请求——来自想要控制/监视终端设备(TCP 客户端(嵌入式小工具))的用户。随着时间的推移,这些 TCP 客户端的数量可能会增加。

所以我面临的一些问题是: Heroku clound 支持(在免费模式下)每月仅 5000 小时。因此,服务器将在下半月没有响应,因为与客户端保持持续连接。现在我专注于Google Clould App Engine. 我认为它将一直可用。

这些云平台的问题是我不能在同一个应用程序上运行两台服务器并让它们监听不同的端口(一个端口用于 TCP 服务器,一个端口用于 HTTP 服务器)。Goog App Engine 要求用户在 8080 端口上运行他们的服务器。我希望你已经理解我的困境。

如何让 TCP 和 HTTP 服务器在云平台上协同工作?

标签: node.jsgoogle-app-enginetcpservergoogle-cloud-platform

解决方案


推荐阅读