WebSockets'ı SockJS client ve Spring 4 sunucusuyla kullanmanın bir yolu var mı, ancak STOMP kullanmıyor musunuz? Spring'in web sitesinden Bu eğitimde dayanarak Web Socketjs & Spring 4 ile birlikte Stomp olmadan
, ben istemci tarafında Stomp ve Bahar 4. kullanarak bir WebSocket tabanlı bir uygulamayı nasıl ayarlanacağını bilmek elimizde: var socket = new SockJS('/hello');
stompClient = Stomp.over(socket);
stompClient.connect({}, function(frame) {
setConnected(true);
console.log('Connected: ' + frame);
stompClient.subscribe('/topic/greetings', function(greeting){
showGreeting(JSON.parse(greeting.body).content);
});
});
Ve sunucu tarafında
, biz@MessageMapping("/hello")
@SendTo("/topic/greetings")
public Greeting greeting(HelloMessage message) throws Exception {
Thread.sleep(3000); // simulated delay
return new Greeting("Hello, " + message.getName() + "!");
}
Şimdi, @MessageMapping("/hello")
bir mesaj bir hedefe "/hello"
gönderilir, sonra greeting()
yöntem adı verilecek olmasını sağlar anlıyoruz: denetleyici aşağıdaki var. Ve stompClient
"/topic/greetings"
'a abone olduğu için @SendTo("/topic/greetings")
, iletiyi stompClient
'a geri gönderir.
Ancak, yukarıdaki sorun, stompClient'in bir Stomp nesnesi olmasıdır. Ve sadece sock.send('test');
'u kullanmak ve sunucumun hedefine teslim edilmesini istiyorum. Ve @SendTo("myownclientdestinationmap")
yapmak istiyorum, ben Yani
sock.onmessage = function(e) {
console.log('message', e.data);
};
bunu alabilir, Bahar 4, SockJS ile ve Stomp olmadan bunu yapmak için herhangi bir yolu? Veya Spring 4 WebSocket sadece Stomp'u destekliyor mu?
"Spring-mvc" uygulamasında WebSocket kullanmak istiyorum, lütfen bana neden "STOMP" kullanmak istemediğinizi anlatabilir misiniz? –