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