Клиент веб-сокета Vert.x - 400 неверных запросов

Как я могу подключить Cex.IO websocket API из моих статей Java?

Проблема в том, что Vert.x не предоставляет мне способ соединения только с WsURI, как это делает Node.JS. Я должен указать порт и хост и получить исключение HTTP 400 Bad Request.

С Node.js вы делаете:

var WebSocketClient = require('websocket').client;
var client = new WebSocketClient();
client.connect("wss://ws.cex.io/ws/");

С Vert.x вы должны сделать

int host = 443; // That's defaults
String host = "cex.io"; // Am I right by specifying this host?
HttpClient client = Vertx.vertx().createHttpClient();
client.websocket(port, host, "wss://ws.cex.io/ws/", ws -> { ...});

1 ответ

Решение

Этот метод HttpClient#websocket принимает относительный URI в качестве третьего параметра.

Вы должны быть в состоянии подключиться так:

client = vertx.createHttpClient(new HttpClientOptions()
  .setDefaultHost("ws.cex.io")
  .setDefaultPort(443)
  .setSsl(true));

client.websocket("/ws", ws -> {
  // Work with the websocket
});
Другие вопросы по тегам