如何从我的Java Verticle连接Cex.IO websocket API?
问题是Vert.x没有为我提供仅与WsURI as Node.JS does连接的方法。我必须指定端口和主机并获取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 -> { ...});
答案 0 :(得分:4)
此HttpClient#websocket方法将相对URI作为第三个参数。
您应该能够像这样连接:
client = vertx.createHttpClient(new HttpClientOptions()
.setDefaultHost("ws.cex.io")
.setDefaultPort(443)
.setSsl(true));
client.websocket("/ws", ws -> {
// Work with the websocket
});