Próbuję utworzyć aplikację serwera/klienta opartą na websocketed przy użyciu rozruchu sprężynowego.Pisanie klienta, aby połączyć się z websocket w rozruchu wiosennym
Serwer akceptuje połączenie z gniazdem, a gdy odbierze wiadomość tekstową od klienta, przetworzy ją, a następnie zwróci część danych. Serwer ma obsługę websocket, która poprawnie przetworzy żądanie.
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);
}
}
i zarejestrowany
@Override
public void registerWebSocketHandlers(WebSocketHandlerRegistry registry) {
registry.addHandler(dataWebSocketHandler(), "/data").withSockJS();
}
Moim problemem jest to, że nie mam pojęcia jak napisać klienta, który może połączyć się z serwerem (zakładając pisałem serwer poprawnie) i rozszerzeń how aby wysłać wiadomość i jak otrzymać te dane po stronie klienta.
Nie udało mi się znaleźć tego przykładu, ale jest wiele miejsc, w których napisany jest websocket, który nadaje się do wszystkich klientów zasubskrybowanych w gnieździe, czego nie chcę.
Serwer korzysta z osadzonego serwera Tomcat.
linki 404, zaktualizuj – Jackie
linki aktualizowane .. –