2016-05-23 590 views
1

我试图从cloudfoundry应用程序打开TCP连接。 当我知道Cloudroundtry不支持TCP端口时。端口4443上的Cloudfoundry TCP连接

但是文档中这里https://docs.cloudfoundry.org/devguide/deploy-apps/prepare-to-deploy.html#ports

它说下Port Limitations

默认CF-发布清单分配的TCP/WebSocket的通信端口4443。

这是否意味着我可以在端口4443上打开TCP连接,我试过在4443上运行ServerSocket,但是这个端口不能从外部cloudfoundry机器访问。

我知道长轮询,WebSocket和Servlet 3.1非阻塞全双工方法。但是我不想实现这些,如果我可以简单地使用端口4443来进行直接的TCP连接。

请确认是否可以使用此端口进行TCP连接,如果不是,那么以上文档的含义是什么?

回答

1

上述文档指出,默认情况下,将端口4443用作要转发到Cloud Foundry路由器的WebSocket端口。这个端口不是你的应用程序要监听的端口,而是客户端连接到的外部端口,例如, run.pivotal.io:4443。这意味着您无法使用它直接与您的应用程序建立TCP连接,因为路由器期望进行HTTP请求升级。

在Cloud Foundry上启用TCP路由一直在进行工作,并且该功能应该在不久的将来开始在某些Cloud Foundry安装中提供。更多信息可以在我们的github上找到:https://github.com/cloudfoundry-incubator/routing-release

+0

这是否意味着我无法打开'WebSocket'连接?像'ws:// host:80'或'ws:// host:4443'?如果我打算升级请求协议,我应该将请求发送到'4443'端口? – 11thdimension