String webappDir = "...";
context = tomcat.addWebapp("/", new File(webappDir).getAbsolutePath());
這不:
context = tomcat.addContext("/", new File("").getAbsolutePath());
我並不真的需要一個webappDir
在這種情況下,因爲我沒有投放任何JSP頁面或客戶端資源,我只使用response.getWriter().println(...);
服務器端。
沒有任何異常被拋出,websocket根本無法打開。
我可以假設這是一個tomcat錯誤嗎?
如果您不需要Web應用程序上下文,則可以直接使用Java API for WebSockets JSR 356而不是使用tomcat websockets API。 – vzamanillo
您可以使用JSR 356創建您的客戶端作爲獨立的Java應用程序,構建一個服務器,您可以使用任何具有Websocket支持的嵌入式或不嵌入式(GlassFish,Apache Tomcat,Jetty)的Java EE服務器容器來部署WebSocketServlet並監聽用於客戶端消息。 – vzamanillo
我認爲這是不可能的,websockets API被設計爲在web應用程序中使用套接字,所以你需要一個容器,如果你不需要一個web應用程序不要使用websockets,只需使用Java套接字。 – vzamanillo