2017-07-17 375 views
0

我如何连接从我的Java verticles Cex.IO websocket APIVert.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 -> { ...}); 

回答

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 
});