#java #websocket
С помощью vert.x core 3.2.1 написал простенький сервер, который принимает сообщения
от подключившегося пользователя, однако хотелось бы реализовать ответ сервера(возврат
сообщений пользователя обратно).
Сам код:
import io.vertx.core.Handler;
import io.vertx.core.Vertx;
import io.vertx.core.buffer.Buffer;
import io.vertx.core.http.*;
public class serverTest {
public static void main(String[] args) throws Exception {
HttpServer server = Vertx.vertx().createHttpServer();
server.websocketHandler(new Handler() {
@Override
public void handle(ServerWebSocket webs) {
System.out.println("Client connected");
System.out.println("Client's message: ");
webs.handler(new Handler() {
@Override
public void handle(Buffer event) {
System.out.println("Received data " + event.toString("ISO-8859-1"));
}
});
}
});
server.listen(8080, "localhost", res -> {
if (res.succeeded()) {
System.out.println("Server is now listening!");
} else {
System.out.println("Failed to bind!");
}
});
}
}
Через этот интерфейс и метод handle происходит прием сообщений:
@Override
public void handle(Buffer event) {
System.out.println("Received data " + event.toString("ISO-8859-1"));
}
Как я понимаю, нужно туда вкрутить отправщика и поставить какое-то условия, чтобы
в случае если сообщение пришло, он высылал его в ответ. Однако я не совсем понимаю
как это сделать=(
Ответы
Ответ 1
http://vertx.io/docs/vertx-core/java/ - смотреть доки http://vertx.io/blog/some-rest-with-vert-x/ - классный пример httpServer.requestHandler(request -> { //Тело });Ответ 2
Поковырявшись и потыкав,обнаружил простой метод, благодаря которому можно слать ответы с сервера. Таким образом, метод handle перепишется следующим образом: public void handle(Buffer event) { System.out.println("Received data: " + event.toString("ISO-8859-1")); webs.writeFinalTextFrame("echo:"+event.toString("ISO-8859-1"));
Комментариев нет:
Отправить комментарий