我打算在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
。
答案 0 :(得分:0)
TCP和HTTP位于不同的层中。
HTTP位于应用层之下。
TCP位于运输层。
HTTP客户端通过建立到服务器(通常是端口80)上的特定端口的传输控制协议(TCP)连接来发起请求。
在计算机网络中,每个应用程序都从操作系统获取/询问它可以侦听的端口。
如果您有2个 TCP服务器 - 一个是HTTP服务器而另一个是另一个服务器,他们无法收听同一个端口,除非您由于TCP协议操作,有两个NI。