NetClient

NetClient常常是用来与服务器进行TCP连接

Creating a Net Client

你只需要通过调用vertxcreateNetClient方法就可以创建一个TCP客户端

  1. NetClient client = vertx.createNetClient();

Making a Connection

然后调用connect方法就可以连接到服务器

  1. NetClient client = vertx.createNetClient();
  2. client.connect(1234, "localhost", new AsyncResultHandler<NetSocket>() {
  3. public void handle(AsyncResult<NetSocket> asyncResult) {
  4. if (asyncResult.succeeded()) {
  5. log.info("We have connected! Socket is " + asyncResult.result());
  6. } else {
  7. asyncResult.cause().printStackTrace();
  8. }
  9. }
  10. });

connetc方法第一个参数是服务器的端口,第二个参数是服务器绑定的域名或者IP地址。第三个参数是一个connect handler,当连接建立成功之后,这个handler就会被调用

connect handler泛型参数是AsyncResult<NetSocket>,我们可以从这个对象的result()方法中获取NetSocket对象。你可以像在服务器端那样,在socket上进行读写数据。

当然你也可以像在服务器端那样执行close , set the closed handler, set the exception handler操作

Configuring Reconnection

NetClient可以被设置成自动重连或者当它无法连接到服务器/与服务器断开连接后进行断线重连。你可以通过调用setReconnectAttemptssetReconnectInterval方法来实现这样的功能

  1. NetClient client = vertx.createNetClient();
  2. client.setReconnectAttempts(1000);
  3. client.setReconnectInterval(500);
  • ReconnectAttempts:该值设定重连服务器的次数。-1表示无限次。默认值是0
  • ReconnectInterval:该值设定重连服务器的间隔。单位是毫秒。默认值是1000

NetClient Properties

NetClient也有一套TCP Properties,这套属性值的含义和NetServer一样,具体使用参考NetServer就好了。