如何在Heroku上同时拥有HTTP和TCP服务器

时间:2017-09-30 02:35:35

标签: node.js sockets heroku tcp

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

请注意,我的TCP客户端应用程序不一定是nodejs(可能是Python),所以我需要比while (files.hasNext()) { var file = files.next(); Logger.log(file.getName()); } socket.io更低级别的东西。我打算使用websockets

1 个答案:

答案 0 :(得分:0)

TCP和HTTP位于不同的层中。

  • HTTP位于应用层之下。

  • TCP位于运输层。

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

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

如果您有2个 TCP服务器 - 一个是HTTP服务器而另一个是另一个服务器,他们无法收听同一个端口,除非您由于TCP协议操作,有两个NI。