Je suis novice dans le domaine de la Websocket Java EE 7.Websocket endpoint returns 404
I ont un serveur Java EE 7 déployé sur wildfly 10.
j'ai configuré un chemin de contexte et un chemin d'application. Je suis capable d'atteindre le serveur par http://localhost:8080/context_path/app_path/something
.
Maintenant, j'ai déclaré simple ServerEndpoint:
@Stateful
@ServerEndpoint("websockets/stream")
public class StreamServerEndpoint {
private static final Logger LOG = Logger.getLogger(StreamServerEndpoint.class);
@Inject
ByteBufferStore byteBufferStore;
@Inject
private EventListener listener;
@OnOpen
public void open(Session session) {
LOG.info("Session opened and registered");
listener.register(session);
}
@OnMessage
public void message(Session session, ByteBuffer buffer) {
LOG.info("Message retrieved");
session.getUserProperties().put("buffer", buffer);
//byteBufferStore.retrieve().ifPresent(byteBuffer -> Common.sendBuffer(session, buffer));
}
@OnClose
public void close(Session session) {
listener.unregister(session);
}
}
De l'autre côté, j'ai un projet angulaire 2 externe qui doit se connecter au websocket, mais je reçois des codes d'état d'erreur: 404, 200, en fonction du lien.
Je reçois 200 avec ceci:
ws://localhost:8080
-je obtenir 404 (pas possible poignée de main) avec ceci:
ws://localhost:8080/context_path/app_path/websockets/stream
Que puis-je faire pour atteindre le websocket? Apparemment, mon URL n'est pas correcte, ou la façon dont j'ai programmé le point de terminaison du serveur est totalement fausse.
Eh bien, 404 n'est pas trouvé, pas de prise de contact possible. Pouvez-vous vous connecter au serveur avec un client websocket différent? –
Malheureusement, les demandes de différents clients websocket n'atteignent pas le serveur. – cayz
veuillez vous référer ci-dessous URL pour l'exemple en cours https://examples.javacodegeeks.com/core-java/real-time-applications-angularjs-java-part-3/ https://coderwall.com/p/uhqeqg/html5-websocket-avec-angularjs –