2016-04-02 17 views
0
Çok garip sözdizimi mazur harika grails/kullanıyorum

, öylesine i yanlış bir şekilde bu konuda gidiyorum varsa bana bildirin lütfen Yuvalarının kullanmaya yeni de duyuyorum: Kullanılmasıbelli bağlantılara Gönder tek İlkbahar Websockets

yay WebSockets i sadece abone kullanıcılar belli bir değeri/id üzerinden sunucuya geçti ve kendi kullanıcı id yukarıdaki mesaj göndermek istiyorum, Ancak

SimpMessagingTemplate brokerMessagingTemplate 
users.each { 
    brokerMessagingTemplate.convertAndSendToUser(it.id,"/topic/path",data) 
} 

aracılığıyla belli abone kullanıcılara mesaj göndermek mümkün. Wepage yükünde bir bağlantı başlatıldı, bu yüzden bu bilgiyi sunucuya aktaran bir STOMP header değeri ekleyebildiğimi ve sunucunun sadece bu ile eşleşen bağlantılara mesaj gönderebileceğini düşündüm.

var socket = new SockJS("/url/stomp"); 
var client = Stomp.over(socket); 
var headers = {'additionalId': additionalId}; 
client.connect({}, function() { 
    client.subscribe("/user/topic/path", function (data) { 
}, headers); 

öncelikle ben bir başlık değerini ekleyerek bunu yapmanın doğru yolu olup olmadığını bilmiyorum, ikincisi SimpMessagingTemplate özellikle başlığında ek kimliği sağlamıştır olanlara göndermek nasıl emin değil im. Bir TopicSubscriptionInterceptor() nereye uygulayarak belirli /something.{additionalId} abone kişileri sınırlamak isteyebilirsiniz

brokerMessagingTemplate.convertAndSend("/topic/something.${additionalId}".toString(), data) 

ve Ek

@MessageMapping("/something.{additionalId}") 
protected String chatMessage(@DestinationVariable String additionalId, Principal principal, String data) { ... } 

kullanın:

cevap

1

yerine bir başlık kullanarak size şekilde DestinationVariable kullanabilirsiniz Principal

+0

Doğrulanabilir. Bu yanıtı şimdiye kadar test etme şansım olmadı, ancak yorum/yorum yapacağım Ben – Alexjjsmith

+0

hii yaptığımda cevap olarak rk .. nasıl multiipe değişken hakkında?/hello/{dosya}/{mycode} '? – akiong