स्प्रिंग और जावा ईई के पास websockets के लिए अच्छा समर्थन है। वसंत में उदाहरण के लिए आप कर सकते हैं:वेबसाइट्स और लोड संतुलन
@Configuration
@EnableWebSocket
public class WebSocketConfig implements WebSocketConfigurer {
@Override
public void registerWebSocketHandlers(WebSocketHandlerRegistry registry) {
registry.addHandler(new MyHandler(), "/myHandler")
.addInterceptors(new HttpSessionHandshakeInterceptor());
}
}
और MyHandler
वर्ग के साथ आप भेज सकते हैं और एचटीएमएल 5 WebSocket करने के लिए संदेश के लिए सुन सकते हैं।
var webSocket =
new WebSocket('ws://localhost:8080/myHandler');
webSocket.onmessage = function(event) {
onMessage(event)
};
समस्या यह है कि यदि आप लोड बैलेंसर के पीछे एकाधिक सर्वर चलाते हैं। सर्वर एक के ग्राहकों सर्वर बी
यह समस्या Stomp प्रोटोकॉल (http://assets.spring.io/wp/WebSocketBlogPost.html)
साथ संदेश दलाल का उपयोग करके वसंत में हल किया जाता है हैंडलर और का उपयोग कर के बाद से "मूल" एचटीएमएल 5 WebSockets दिखता है पर घटनाओं के लिए सूचित नहीं किया जाएगा मेरे लिए आसान तो स्टॉम्प तरीका, मेरे प्रश्न हैं:
- क्या स्टॉम्प प्रोटोकॉल के बिना संदेश ब्रोकर का उपयोग करना उचित है?
- लोड संतुलन मुद्दे को दूर करने के लिए कोई अन्य विकल्प हैं?