2015-04-01 18 views
5

में वेबस्केट से कनेक्ट करने के लिए क्लाइंट को लिखना मैं वसंत बूट का उपयोग कर एक वेबसाइकिल आधारित सर्वर/क्लाइंट एप्लिकेशन बनाने की कोशिश कर रहा हूं।स्प्रिंग बूट

सर्वर सॉकेट कनेक्शन स्वीकार करता है, जब क्लाइंट से टेक्स्ट संदेश प्राप्त होता है तो यह प्रक्रिया करेगा, फिर कुछ डेटा लौटाएगा। सर्वर में एक वेबसाइकिल हैंडलर है जो अनुरोध को सही तरीके से संसाधित करेगा।

public class DataWebSocketHandler extends TextWebSocketHandler { 

private static Logger logger = LoggerFactory.getLogger(DataWebSocketHandler.class); 

private final DataService dataService; 

@Autowired 
public DataWebSocketHandler(DataService dataService) { 
    this.dataService = dataService; 
} 

@Override 
public void afterConnectionEstablished(WebSocketSession session) { 
    logger.debug("Opened new session in instance " + this); 
} 

@Override 
public void handleTextMessage(WebSocketSession session, TextMessage message) 
     throws Exception { 
    byte[] payload = this.dataService.getDataBytes(message.getPayload()); 
    session.sendMessage(new BinaryMessage(payload)); 
} 

@Override 
public void handleTransportError(WebSocketSession session, Throwable exception) 
     throws Exception { 
    session.close(CloseStatus.SERVER_ERROR); 
} 

} 

और पंजीकृत

@Override 
public void registerWebSocketHandlers(WebSocketHandlerRegistry registry) { 
    registry.addHandler(dataWebSocketHandler(), "/data").withSockJS(); 
} 

मेरे समस्या है, मुझे नहीं पता है कि कैसे एक ग्राहक है कि सर्वर से कनेक्ट कर सकते हैं (यह मानते हुए मैं सही ढंग से सर्वर लिखा था) लिखने के लिए और एक्सटेंशन कैसे द्वारा वह यह है कि संदेश भेजने और क्लाइंट पक्ष पर वह डेटा कैसे प्राप्त करें।

मैं इसका एक उदाहरण ढूंढने में असफल रहा हूं, लेकिन वहां बहुत सारे हैं जहां एक वेबसाकेट लिखा गया है जो एक सॉकेट की सदस्यता लेने वाले सभी ग्राहकों को प्रसारित करता है, जो मैं नहीं चाहता हूं।

सर्वर एम्बेडेड टॉमकैट सर्वर का उपयोग करता है।

उत्तर

3

मुझे इस पर विश्वास आप

https://github.com/spring-projects/spring-boot/tree/master/spring-boot-samples/spring-boot-sample-websocket-jetty/src/main/java/samples/websocket/jetty/echo

इस एक समान सर्वर साइड कोड है जो खोज रहे हैं यहाँ क्लाइंट पक्ष है ..

https://github.com/spring-projects/spring-boot/blob/master/spring-boot-samples/spring-boot-sample-websocket-jetty/src/test/java/samples/websocket/jetty/SampleWebSocketsApplicationTests.java

और .. का उपयोग कर org.springframework.web.socket.client.standard.StandardWebSocketClient कुछ othe विन्यास विज्ञापन।

मेरा मानना ​​है कि आप शेष का पता लगा सकते हैं;)

चीयर्स

+0

लिंक 404 कर रहे हैं, – Jackie

+1

अपडेट किए गए लिंक अपडेट कर लें .. –