Ich muss eine Anwendung auf einem nicht JEE7-konformen Server installieren. Ich benutze Spring + Stomp + SocksJs für Echtzeit-Benachrichtigungen.Manuelles Einstellen des Transporttyps in einer Spring + Sockjs-Anwendung
sieht Ihr Code wie folgt aus:
@Configuration
@EnableWebSocketMessageBroker
public class WebSocketConfig extends AbstractWebSocketMessageBrokerConfigurer {
@Override
public void configureMessageBroker(MessageBrokerRegistry config) {
config.enableSimpleBroker("/topic");
config.setApplicationDestinationPrefixes("/app");
}
@Override
public void registerStompEndpoints(StompEndpointRegistry ser) {
ser.addEndpoint("/notifications").withSockJS()
}
}
}
Und auf dem Client:
function setSocket(broker, callbackFn) {
var socket = {};
socket.cliente = new SockJS(path + broker);
socket.stomp = Stomp.over(socket.cliente);
socket.stomp.connect({}, function() {
socket.stomp.subscribe("/topic" + broker, callbackFn);
});
}
Gibt es eine Möglichkeit, manuell den Transporttyp zu verwenden und zu vermeiden den Einsatz von WebSockets eingestellt?
Vielen Dank! das war genau das, was ich brauchte. – belial
Ich habe meine Antwort bearbeitet - in Ihrem Fall möchten Sie die verfügbaren Transporte * auf der Serverseite beschränken *. Dies funktioniert nur auf dem Client, verhindert jedoch nicht, dass ein Client versucht, eine Verbindung zu Ihrem Server mit Websockets herzustellen, wenn dieser Client anderweitig konfiguriert ist. –