2017-07-17 370 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 
});