Je fais une Websocket client/serveur. Le client est en JavaScript Je l'ai déjà et le serveur est en Vert.x (Java), ce qui est là où j'ai des doutes, parce que j'ai trouvé un code dans Vert.x 2 et j'aimerais que quelqu'un m'aide à le convertir en Vert .x 3Serveur WebSocket dans Vert.x 2 (Traduction vers Vert.x 3)?
public class WebserverVerticle extends Verticle {
@Override
public void start() {
final Pattern chatUrlPattern = Pattern.compile("/chat/(\\w+)");
final EventBus eventBus = vertx.eventBus();
// 1) HTTP Server
RouteMatcher httpRouteMatcher = new RouteMatcher().get("/", new
Handler<HttpServerRequest>() {
@Override
public void handle(final HttpServerRequest request) {
request.response().sendFile("web/chat.html");
}
}).get(".*\\.(css|js)$", new Handler<HttpServerRequest>() {
@Override
public void handle(final HttpServerRequest request) {
request.response().sendFile("web/" + new File(request.path()));
}
});
vertx.createHttpServer().requestHandler(httpRouteMatcher).listen(8080,
"localhost");
// 2) Websockets Chat Server
// Aquí vendría el código de la segunda parte
....................
// Lo paso luego
}
} J'ai un peu traduit mais je ne sais pas très bien la partie de la .get ("* (Css |.. js)") ...... I ont les éléments suivants:
public class WebserverVerticle extends AbstractVerticle{
public void start(Future<Void> startFuture) {
Router router = Router.router(vertx);
Pattern chatUrlPattern = Pattern.compile("/chat/(\\w+)");
EventBus eventBus = vertx.eventBus();
//HTTP Server
router.route("/").handler(routingContext -> {
routingContext.request().response().sendFile("index2.html");
}).handler(routingContext -> {
routingContext.request().response().sendFile("web/" + new File(routingContext.request().path()));
});
vertx.createHttpServer().requestHandler(router::accept).listen(8080, "localhost");
//Websocket Chat Server
}
Je ne sais pas si elle est juste ce que j'ai traduit et avoir si vous pouvez me aider à le transformer en vert.x 3.
ne pas mettre .... routingContext -> { routingContext.request() réponse() SENDFILE (le "index2.html").. }). Handler (routingContext -> { routingContext.request(). Response(). SendFile ("web /" + nouveau fichier (routingContext.request(). Path())); }); Serait de remplacer tout cela par StaticHandler.create()); –
@DanielRuiz, oui. Vous utilisez le routeur uniquement pour les fichiers statiques de toute façon. Toutes vos données sont envoyées via des Websockets. –
Bon Alexey, j'ai écrit un mail si tu peux m'aider s'il te plait! Lis le. –