Sunucudan yalnızca belirli bir kullanıcıya websocket mesajı nasıl gönderilir?
Web uygulamamın yay güvenliği ayarı var ve websocket kullanıyor. Sunucudan yalnızca belirli bir kullanıcıya mesaj göndermeye çalışırken zor bir sorunla karşılaşıyorum .
Kılavuzu okumaktan anladığım kadarıyla yapabileceğimiz sunucudan
simpMessagingTemplate.convertAndSend("/user/{username}/reply", reply);
Ve müşteri tarafında:
stompClient.subscribe('/user/reply', handler);
Ancak abonelik geri aramasını hiçbir zaman başlatamadım. Pek çok farklı yolu denedim ama şansım yok.
/ Topic / response'a gönderirsem çalışır, ancak diğer tüm bağlı kullanıcılar da alır.
Sorunu göstermek için bu küçük projeyi github'da oluşturdum: https://github.com/gerrytan/wsproblem
Yeniden üretme adımları:
1) Projeyi klonlayın ve oluşturun (jdk 1.7 ve maven 3.1 kullandığınızdan emin olun)
$ git clone https://github.com/gerrytan/wsproblem.git
$ cd wsproblem
$ mvn jetty:run
2) http://localhost:8080
Bob / test veya jim / test kullanarak giriş yapın.
3) "Kullanıcıya özel mesaj iste" yi tıklayın. Beklenen: Yalnızca bu kullanıcı için "Yalnızca Bana Mesaj Alındı" nın yanında "merhaba {kullanıcı adı}" mesajı görüntülenir, Gerçek: hiçbir şey alınmadı