Vert.x的WebSocket客户端 - 400错误的请求
问题描述:
我如何连接从我的Java verticles Cex.IO websocket API?Vert.x的WebSocket客户端 - 400错误的请求
问题是,Vert.x并没有提供给我一种只与WsURI as Node.JS does连接的方法。我必须指定端口和主机,并得到HTTP 400错误的请求例外。
随着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 -> { ...});
答
这HttpClient#websocket方法需要相对URI作为第三个参数。
你应该能象这样连接:
client = vertx.createHttpClient(new HttpClientOptions()
.setDefaultHost("ws.cex.io")
.setDefaultPort(443)
.setSsl(true));
client.websocket("/ws", ws -> {
// Work with the websocket
});