WebSockets funktioniert nicht ohne WebApp

9

Das funktioniert:

%Vor%

Das tut nicht:

%Vor%

Ich brauche in diesem Fall keine webappDir , da ich keine JSP-Seiten oder clientseitige Ressourcen belege. Ich benutze einfach response.getWriter().println(...); nur serverseitig.

Es wird keine Ausnahme ausgelöst, der Websocket öffnet sich einfach nicht.

Kann ich davon ausgehen, dass dies ein Tomcat Bug ist?

    
ThreaT 04.05.2015, 22:04
quelle

2 Antworten

3

Nun, diese beiden sind völlig unterschiedliche Funktionen. Wenn Sie das Javadoc für die Funktion addContext betrachten, können Sie sehen, dass Sie den Kontext einrichten müssen, um Websocket verwenden zu können. Dies wird aus dem API-Dokument abgerufen.

  

Fügen Sie einen Kontext - programmatischen Modus, keine Standard web.xml verwendet. Das heisst   Es gibt keine JSP-Unterstützung (kein JSP-Servlet), kein Standard-Servlet und   keine Unterstützung für Web-Sockets, es sei denn, sie wurde explizit über das Programm aktiviert   Schnittstelle.

Also, in Ihrem Fall, ich denke, Sie können den Testfall in diesem link wie Sie einen Endpunkt in den Kontext einfügen.

Ob Sie davon ausgehen können, dass dies ein Bug ist oder nicht. Persönlich denke ich nicht, dass dies ein Fehler ist, da der Entwickler selbst bereits erwähnt, dass sie die Web-Socket-Verbindung nicht bereitstellen. Aber um sicherzugehen, können Sie sie kontaktieren und fragen;).

    
kucing_terbang 07.05.2015 16:28
quelle
1

Wenn Sie sich die Tests ansehen (test / org / apache / tomcat / websocket im Quellcode), tun sie

%Vor%

Beachten Sie, dass die Weitergabe von null anstelle eines Kontextpfads einen aktuellen Tomcat 8 (nicht älter als mehrere Monate) erfordert. Die aktuelle Version ist 8.0.22.

  

Kann ich davon ausgehen, dass dies ein Tomcat Bug ist?

Die Regel "vor dem Einreichen eines Fehlers" besteht darin, auf der Mailing-Liste der Benutzer zu fragen, nicht auf stackoverflow.

    
Konstantin Kolinko 05.05.2015 14:26
quelle