Ich versuche dieses Beispiel auszuführen:Websocket Beispiel wird nicht funktionieren
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.websocket.OnClose;
import javax.websocket.OnError;
import javax.websocket.OnMessage;
import javax.websocket.OnOpen;
import javax.websocket.Session;
import javax.websocket.server.ServerEndpoint;
@ServerEndpoint(value = "/chat")
public class ChatServer {
private static final Logger LOGGER =
Logger.getLogger(ChatServer.class.getName());
@OnOpen
public void onOpen(Session session) {
LOGGER.log(Level.INFO, "New connection with client: {0}",
session.getId());
}
@OnMessage
public String onMessage(String message, Session session) {
LOGGER.log(Level.INFO, "New message from Client [{0}]: {1}",
new Object[] {session.getId(), message});
return "Server received [" + message + "]";
}
@OnClose
public void onClose(Session session) {
LOGGER.log(Level.INFO, "Close connection for client: {0}",
session.getId());
}
@OnError
public void onError(Throwable exception, Session session) {
LOGGER.log(Level.INFO, "Error for client: {0}", session.getId());
}
}
Ich benutze Tomcat 7.0.47
, ich Verbindung überprüfen: ws://localhost/Tests/chat
. Muss ich diesen Websocket registrieren oder einige Dinge in web.xml
hinzufügen? Irgendeine Idee warum funktioniert nicht für mich?
jeder Stapel Trace/produzierte Fehlermeldung in Server-Protokolldatei? Was produziert der Browser, wenn Sie versuchen, eine Verbindung herzustellen? (Angenommen, Sie verwenden Browser als Client ..) –
Es gibt nichts im Serverprotokoll, es sieht aus wie Anfrage nicht den Server erreichen. Zum Testen verwende ich die Chrome App 'Advanced Rest Client'. – Nyger
Können Sie etwas anderes versuchen? "Advanced Rest Client" unterstützt keine WebSocket-Verbindungen (ich sehe das nicht in ihrer Beschreibung). Etwas einfaches wie http://www.websocket.org/echo.html sollte funktionieren. Sie können auch JavaScript-Fehler Konsole öffnen, wo normalerweise angegeben ist, was falsch ist (404, 500, anderen Grund ..) –