你可以在启动时从Tomcat打开一个ServerSocket吗?

时间:2013-09-27 20:44:37

标签: java sockets tomcat

我需要通过Tomcat的套接字实时传输二进制数据。

你可以在启动时在Tomcat上打开ServerSocket吗?如果是这样,你在哪里这样做?

2 个答案:

答案 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页面来管理暴露套接字的应用程序。