Example usage for io.vertx.core.net NetClient connect

List of usage examples for io.vertx.core.net NetClient connect

Introduction

In this page you can find the example usage for io.vertx.core.net NetClient connect.

Prototype

@Fluent
NetClient connect(SocketAddress remoteAddress, String serverName,
        Handler<AsyncResult<NetSocket>> connectHandler);

Source Link

Document

Open a connection to a server at the specific remoteAddress .

Usage

From source file:examples.NetExamples.java

License:Open Source License

public void example15(Vertx vertx) {

    NetClientOptions options = new NetClientOptions().setConnectTimeout(10000);
    NetClient client = vertx.createNetClient(options);
    client.connect(4321, "localhost", res -> {
        if (res.succeeded()) {
            System.out.println("Connected!");
            NetSocket socket = res.result();
        } else {//w w  w.j a  v  a  2s . com
            System.out.println("Failed to connect: " + res.cause().getMessage());
        }
    });
}

From source file:examples.NetExamples.java

License:Open Source License

public void example48(Vertx vertx) throws CertificateException {
    SelfSignedCertificate certificate = SelfSignedCertificate.create();

    NetServerOptions serverOptions = new NetServerOptions().setSsl(true)
            .setKeyCertOptions(certificate.keyCertOptions()).setTrustOptions(certificate.trustOptions());

    NetServer server = vertx.createNetServer(serverOptions)
            .connectHandler(socket -> socket.write("Hello!").end()).listen(1234, "localhost");

    NetClientOptions clientOptions = new NetClientOptions().setSsl(true)
            .setKeyCertOptions(certificate.keyCertOptions()).setTrustOptions(certificate.trustOptions());

    NetClient client = vertx.createNetClient(clientOptions);
    client.connect(1234, "localhost", ar -> {
        if (ar.succeeded()) {
            ar.result().handler(buffer -> System.out.println(buffer));
        } else {//ww  w .  j  ava  2  s  . com
            System.err.println("Woops: " + ar.cause().getMessage());
        }
    });
}

From source file:io.eventuate.javaclient.stompclient.MyStompClientImpl.java

License:Open Source License

@Override
public synchronized StompClient connect(int port, String host, NetClient net,
        Handler<AsyncResult<StompClientConnection>> resultHandler) {
    client = net.connect(port, host, ar -> {
        if (ar.failed()) {
            if (resultHandler != null) {
                resultHandler.handle(Future.failedFuture(ar.cause()));
            } else {
                log.error(ar.cause());//w  w w  .j av  a 2 s  .c o m
            }
        } else {
            // Create the connection, the connection attach a handler on the socket.
            StompClientConnectionImpl scci = new StompClientConnectionImpl(vertx, ar.result(), this,
                    resultHandler);
            scci.errorHandler(frame -> {
                resultHandler.handle(Future.failedFuture(new RuntimeException("Error")));
            });
            scci.closeHandler(connection -> {
                handleClose();
            });
            // Socket connected - send "CONNECT" Frame
            ar.result().write(getConnectFrame(host));
        }
    });
    return this;
}

From source file:io.gravitee.gateway.standalone.healthcheck.HttpServerProbe.java

License:Apache License

@Override
public CompletableFuture<Result> check() {
    VertxCompletableFuture<Result> result = new VertxCompletableFuture<>(vertx);

    NetClientOptions options = new NetClientOptions().setConnectTimeout(500);
    NetClient client = vertx.createNetClient(options);

    client.connect(port, host, res -> {
        if (res.succeeded()) {
            result.complete(Result.healthy());
        } else {//from   w  w w  .j  a  v a2 s  .com
            result.complete(Result.unhealthy(res.cause()));
        }

        client.close();
    });

    return result;
}

From source file:shadowsocks.vertxio.ClientHandler.java

License:Apache License

private void connectToRemote(String addr, int port, Buffer remoteHeader) {
    // 5s timeout.
    NetClientOptions options = new NetClientOptions().setConnectTimeout(5000);
    NetClient client = mVertx.createNetClient(options);
    client.connect(port, addr, res -> { // connect handler
        if (!res.succeeded()) {
            log.error("Failed to connect " + addr + ":" + port + ". Caused by " + res.cause().getMessage());
            destory();//w w w  .ja  v a 2 s. co  m
            return;
        }
        mRemoteSocket = res.result();
        setFinishHandler(mRemoteSocket);
        mRemoteSocket.handler(buffer -> { // remote socket data handler
            try {
                byte[] data = buffer.getBytes();
                byte[] decryptData = mCrypto.decrypt(data, data.length);
                if (mLocalSocket.writeQueueFull()) {
                    log.warn("-->local write queue full");
                }
                mLocalSocket.write(Buffer.buffer(decryptData));
            } catch (CryptoException e) {
                log.error("Catch exception", e);
                destory();
            }
        });
        // reply to program.
        byte[] msg = { 0x05, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01 };
        mLocalSocket.write(Buffer.buffer(msg));
        // send remote header.
        try {
            if (mConfig.oneTimeAuth) {
                byte[] authKey = SSAuth.prepareKey(mCrypto.getIV(true), mCrypto.getKey());
                byte[] authData = remoteHeader.getBytes();
                byte[] authResult = mAuthor.doAuth(authKey, authData);
                remoteHeader.appendBytes(authResult);
            }
            byte[] header = remoteHeader.getBytes();
            byte[] encryptHeader = mCrypto.encrypt(header, header.length);
            mRemoteSocket.write(Buffer.buffer(encryptHeader));
        } catch (CryptoException | AuthException e) {
            log.error("Catch exception", e);
            destory();
        }
    });
}

From source file:shadowsocks.vertxio.ServerHandler.java

License:Apache License

private void connectToRemote(String addr, int port) {
    // 5s timeout.
    NetClientOptions options = new NetClientOptions().setConnectTimeout(5000);
    NetClient client = mVertx.createNetClient(options);
    client.connect(port, addr, res -> { // connect handler
        if (!res.succeeded()) {
            log.error("Failed to connect " + addr + ":" + port + ". Caused by " + res.cause().getMessage());
            destory();/* ww  w  .  j  av  a  2  s. c o  m*/
            return;
        }
        mRemoteSocket = res.result();
        setFinishHandler(mRemoteSocket);
        mRemoteSocket.handler(buffer -> { // remote socket data handler
            try {
                byte[] data = buffer.getBytes();
                byte[] encryptData = mCrypto.encrypt(data, data.length);
                if (mLocalSocket.writeQueueFull()) {
                    log.warn("-->local write queue full");
                }
                mLocalSocket.write(Buffer.buffer(encryptData));
            } catch (CryptoException e) {
                log.error("Catch exception", e);
                destory();
            }
        });
        if (mBufferQueue.length() > 0) {
            handleStageData();
        }
    });
}