我想处理非HTTP流量,但(现在看来)我必须在Cloud Foundry生态系统中运行它。
有没有办法编写(并推送)一个可以处理原始TCP连接的servlet,或者这是针对整个servlet容器设计的(正如我现在所见)?
答案 0 :(得分:1)
截至目前,Cloud Foundry不支持TCP。然而,TCP今年即将到来。查看http://www.slideshare.net/Pivotal/cloud-foundry-summit-2014-cloud-foundry-roadmap了解路线图!
答案 1 :(得分:0)
Servlet处理请求(不一定是每个规范的HTTP请求,但总是请求)。您可以编写将在原始TCP套接字上侦听的代码,但这与它是否在Tomcat中运行无关。
答案 2 :(得分:0)
Tomcat侦听HTTP端口,并将传递给它的请求转换为传递给servlet方法的Java对象。
您不能让Tomcat听取与HTTP或HTTPS不同的任何内容。因此,如果您有一个处理原始TCP连接的类,那么在Tomcat中没有任何优势。
答案 3 :(得分:0)
要添加有关您最初的问题的更多信息,即是否有可能为Tomcat容器编写非HTTP Servlet,答案是肯定的,这很有可能。 TomCat预先配置了对HTTP协议的内置支持。但是,您可以扩展servlet概念并对其进行调整以支持TCP / IP之上的其他协议并不是太牵强。
如果您查看Servlet类,您将看到该类扩展了HttpServlet
,而HttpServlet
扩展了GenericServlet
类。由您自己创建扩展GenericServlet
的唯一协议类。例如,您可以创建一个FTPServlet
或SMTPServlet
类。但是,将由您决定Servlet范例是否是实现其他协议的最佳架构。祝你好运。