2017-07-17 3 views
0

Wie kann ich Cex.IO websocket API von meinen Java-Verticles verbinden?Vert.x Websocket-Client - 400 Ungültige Anforderung

Das Problem ist, dass Vert.x mir keine Möglichkeit bietet, nur mit WsURI as Node.JS does zu verbinden. Ich muss Port und Host angeben und HTTP 400 Bad Request Ausnahme erhalten.

Mit Node.js Sie tun:

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

Mit Vert.x Sie

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

Antwort

4

Dieses HttpClient#websocket Verfahren eine relative URI als dritter Parameter zu tun haben, dauert.

Sie sollten so verbinden können:

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

client.websocket("/ws", ws -> { 
    // Work with the websocket 
}); 
Verwandte Themen