我需要通过Tomcat的套接字实时传输二进制数据。
你可以在启动时在Tomcat上打开ServerSocket
吗?如果是这样,你在哪里这样做?
答案 0 :(得分:1)
您可以使用ServletContextListener,更具体地说,使用contextInitialized
方法执行此操作。
基本示例:
public class ApplicationListener implements ServletContextListener {
public void contextInitialized(ServletContextEvent event) {
//handle the server socket connection here...
}
public void contextDestroyed(ServletContextEvent event) {
}
}
请注意,如果contextInitialized
方法抛出任何Exception
,则根本不会部署Web应用程序。
答案 1 :(得分:-1)
是。定义Tomcat在应用程序启动时启动的servlet。加载servlet时,创建一个线程来打开ServerSocket。
我过去曾这样做过,因此我可以使用Tomcat的基础架构来创建自定义TCP / IP服务器进程。我还创建了一组JSP页面来管理暴露套接字的应用程序。