io.netty.channel.socket.SocketChannel.connect()方法的使用及代码示例

x33g5p2x  于2022-01-29 转载在 其他  
字(1.6k)|赞(0)|评价(0)|浏览(121)

本文整理了Java中io.netty.channel.socket.SocketChannel.connect()方法的一些代码示例,展示了SocketChannel.connect()的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。SocketChannel.connect()方法的具体详情如下:
包路径:io.netty.channel.socket.SocketChannel
类名称:SocketChannel
方法名:connect

SocketChannel.connect介绍

暂无

代码示例

代码示例来源:origin: aadnk/ProtocolLib

@Override
public void connect(SocketAddress endpoint) throws IOException {
  ch.connect(endpoint).syncUninterruptibly();
}

代码示例来源:origin: aadnk/ProtocolLib

@Override
public void connect(SocketAddress endpoint, int timeout) throws IOException {
  ch.config().setConnectTimeoutMillis(timeout);
  ch.connect(endpoint).syncUninterruptibly();
}

代码示例来源:origin: spullara/redis-protocol

public static Promise<RedisClientBase> connect(String host, int port) {
 final Queue<Promise<Reply>> queue = new LinkedList<>();
 SocketChannel socketChannel = new NioSocketChannel();
 final RedisClientBase client = new RedisClientBase(socketChannel, queue);
 socketChannel.pipeline().addLast(new RedisCommandEncoder(), new RedisReplyDecoder(),
     new SimpleChannelInboundHandler<Reply<?>>() {
      @Override
      protected void channelRead0(ChannelHandlerContext channelHandlerContext, Reply<?> reply) throws Exception {
       Promise<Reply> poll;
       synchronized (client) {
        poll = queue.poll();
        if (poll == null) {
         throw new IllegalStateException("Promise queue is empty, received reply");
        }
       }
       poll.set(reply);
      }
     });
 final Promise<RedisClientBase> promise = new Promise<>();
 socketChannel.connect(new InetSocketAddress(host, port)).addListener(new ChannelFutureListenerPromiseAdapter<>(promise, client));
 return promise;
}

相关文章