在一个应用程序中我需要使用Socket连接以及Java中的Http请求/响应,我已经完成了Tomcat的一些工作,但我认为它只处理HTTP请求/响应。
我正在考虑使用Java Networking(java.net.Socket
和java.net.ServerSocket
),制作一个jar并在服务器上运行它来处理套接字并使用Apache来处理HTTP请求但是我没有知道如何整合这两者。
该应用程序将安装在家庭服务器上,因此即使服务器部分也在我的控制之下。任何想法如何实现这个?
答案 0 :(得分:1)
您的意思是说您希望在同一JVM中接受http请求和服务器套接字请求,以便您可以共享相同的Java对象?不知道为什么,但你可以轻松地做到这一点。 Tomcat可以启动Web应用程序并监听http请求。您可以在Web应用程序中编写一个监听器注册表,它将在某个端口初始化Server套接字。这样它就可以在同一个JVM中共享对象。
如果你在找东西,请告诉我。
答案 1 :(得分:1)
这种问题(以及对Bhushan回答的进一步解释)让我回答“为什么?”
为什么您认为需要混合基于套接字和HTTP的通信?这闻起来很糟糕。
如果您详细说明您的要求,我们可以提出更清洁的设计。 或者更好的是,回顾这些问题的既定解决方案。
答案 2 :(得分:1)
您可以在Servlet.init()方法中创建新线程。在此线程中,您将运行ServerSocket的侦听循环。