【问题标题】:How to have both HTTP and TCP server on Heroku如何在 Heroku 上同时拥有 HTTP 和 TCP 服务器
【发布时间】:2018-03-11 23:05:27
【问题描述】:

我打算在 Heroku 上部署一个 nodejs 应用程序,它既是 HTTP 又是 TCP 服务器。我可以看到我可以使用 process.env.PORT 将我的应用程序映射到路由端口。但是,这只是一个端口,是吗?我无法将我的 HTTP 服务器和 TCP 服务器都映射到同一个端口。有没有办法可以做到这一点,可能是通过获得第二个路由端口?

请注意,我的 TCP 客户端应用程序不一定是 nodejs(可能是 Python),所以我需要比socket.iowebsockets 更低级别的东西。我打算使用net

【问题讨论】:

    标签: node.js sockets heroku tcp


    【解决方案1】:

    TCP 和 HTTP 位于不同的层。

    • HTTP 位于应用层之下。

    • TCP 在传输层之下。

    HTTP 客户端通过与服务器上的特定端口(通常是端口 80)建立传输控制协议 (TCP) 连接来发起请求。

    在计算机网络中,每个应用程序都从操作系统获取/请求它可以监听的端口。

    如果您有 2 个 TCP 服务器- 一个是 HTTP 服务器,另一个是另一个服务器,它们不能监听同一个端口,除非您有两个NI 因为 TCP 协议操作。

    【讨论】:

    • 我知道他们不能监听同一个端口。我在我的问题中这么说(第一段,第四句)。我在问如何在 Heroku 上获得第二个路由端口,或者其他一些解决方法。
    猜你喜欢
    • 1970-01-01
    • 2016-08-30
    • 1970-01-01
    • 2012-10-13
    • 2014-11-06
    • 2018-05-29
    • 2013-10-15
    • 2023-03-28
    • 2015-12-13
    相关资源
    最近更新 更多