Sto provando a creare un'applicazione server/client basata su Web tramite avvio a molla.Scrittura di un client per la connessione a websocket in avvio di primavera
Il server accetta una connessione socket e quando riceve un messaggio dal client lo elaborerà, quindi restituirà alcuni dati. Il server ha un gestore websocket che elaborerà correttamente una richiesta.
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);
}
}
e registrato
@Override
public void registerWebSocketHandlers(WebSocketHandlerRegistry registry) {
registry.addHandler(dataWebSocketHandler(), "/data").withSockJS();
}
Il mio problema è, è che non ho idea di come scrivere un client in grado di connettersi al server (assumendo che ho scritto correttamente il server) e da estensioni how per inviare il messaggio e come ricevere tali dati dal lato client.
Non riesco a trovare un esempio di questo, ma ci sono un sacco dove è scritto un websocket che trasmette a tutti i client abbonati a un socket, che non voglio.
Il server utilizza il server tomcat incorporato.
collegamenti sono 404, si prega di aggiornare – Jackie
collegamenti aggiornati .. –