2016-02-05 236 views
0

是否可以实现基于Java的服务器HTTP请求和侦听websockets?我想将HTTP客户端和客户对象的JSON对象响应给websocket客户端。同时服务HTTP和WS客户端

+0

每个Java EE服务器都支持这一点。所以很难理解你为什么用问题中存在的[java-ee]标签问这个问题。这样的问题意味着你实际上从来没有尝试过/使用过一个Java EE服务器,并且只想让homegrow(:X)成为“服务器”。出于这个原因,我已经剥离了[java-ee]标签。 – BalusC

回答

1

是的,这是可能的。鉴于您已实施servlet/s匹配客户端请求的路径,Web服务器将无论如何回应HTTP请求。您可以使用servlet容器托管您的servlet。当你说套接字(not web sockets)时,我假设你正在讨论打开一个端口,在那里Java服务器将监听可能通过内部网络或来自其他网络的任何基于UDP或TCP的请求。您可以找到许多用于实现侦听给定端口的UDP或TCP服务器的源代码示例。

另请注意,如果端口对外部网络可见,则在服务器上打开多个端口会引发安全威胁。

+0

你的意思是应该在服务器(物理服务器计算机)中运行两个独立的程序吗?一个是说tomcat的servlet,另一个是jvm的socket服务器? – Dinushan

+0

不可以。您可以在同一个JVM上运行。当您有一个可用的Java Web应用程序时,您可以添加另一个类,该类也将监听给定端口上的传入请求 – Bunti