/**
* Created on 2018年5月17日 by caiming
*/
package com.demo;
import java.net.InetSocketAddress;
import io.netty.bootstrap.Bootstrap;
import io.netty.channel.ChannelFuture;
import io.netty.channel.ChannelInitializer;
import io.netty.channel.EventLoopGroup;
import io.netty.channel.nio.NioEventLoopGroup;
import io.netty.channel.socket.SocketChannel;
import io.netty.channel.socket.nio.NioSocketChannel;
/**
*
* @Title Echo客户端
* @Description 1、初始化客户端,创建一个BootStrap实例
* 2、为进行事件处理分配一个NioEventLoopGroup实例,其中事件处理包括创建新的连接以及处理入站和出站数据
* 3、为服务器连接建立一个InetSocketAddress实例
* 4、当连接被建立时,一个EchoClientHandler实例会被安装到ChannelPipeline中
* 5、在一切都设置完成后,调用Bootstrap.conncet()方法连接到远程节点
* @author caiming
* @version 1.0
* @修改记录
* @修改序号,修改日期,修改人,修改内容
*/
public class EchoClient {
private final String host;
private final int port;
public EchoClient(String host, int port) {
this.host = host;
this.port = port;
}
public void start() throws Exception {
EventLoopGroup group = new NioEventLoopGroup();
try {
// 创建Bootstrap
Bootstrap b = new Bootstrap();
b.group(group) //指定EventLoopGroup以处理客户端事件;需要适用于NIO的实现
.channel(NioSocketChannel.class) //适用于NIO传输的Channel类型
.remoteAddress(new InetSocketAddress(host, port)) //設置服務端InetSocketAddress
.handler(new ChannelInitializer<SocketChannel>() { //创建Channel时向ChannelPipeline添加一个EchoClientHandler实例
@Override
protected void initChannel(SocketChannel ch) throws Exception {
ch.pipeline().addLast(new EchoClientHandler());
}
});
ChannelFuture f = b.connect().sync();//连接到远程节点,阻塞等待直到连接完成
f.channel().closeFuture().sync();//阻塞,直到channel关闭
} finally {
group.shutdownGracefully().sync();//关闭线程池并释放所有资源
}
}
public static void main(String[] args) throws Exception {
new EchoClient("localhost", 8888).start();
}
}
cc18107498996
- 粉丝: 3
- 资源: 6
最新资源
- 基于opencv-dnn和一些超过330 FPS的npu
- 房屋租赁管理系统 java项目ssm框架开发,全套视频教程
- MATLAB代码:计及电转气协同的含碳捕集与垃圾焚烧电厂优化调度 关键词:碳捕集 电厂 需求响应 优化调度 电转气协同调度 参考文档:《计及电转气协同的含碳捕集与垃圾焚烧电厂优化调度》完全复现
- 关键词:微网 优化调度 深度强化学习 A3C 需求响应 编程语言:python平台 主题:基于改进A3C算法的微网优化调度与需求响应管理 内容简介: 代码主要做的是基于深度强化学习的微网
- web网页,三次平时作业+大作业+Acwing笔记
- cruise软件模型,混动仿真模型,IMMD架构混联混动仿真模型,Cruise混动仿真模型,混联混动汽车动力性经济性仿真 关于模型 1.本模型是基于IMMD架构搭载的混联混动仿真模型,关于IMMD架
- C#上位机开发源码 上位机项目源代码 采用基于RS485通讯总线的ModbusRtu协议,支持用户权限管理、sqlite数据库、实时曲线、历史曲线、历史报表、导出Excel、主界面布局可调带记忆等功能
- 基于plc的污水处理,组态王动画仿真,带PLC源代码,组态王源代码,图纸,IO地址分配
- Rhino(犀牛)插件ladybug-tools-1-8-0
- 三相10Kw光伏并网逆变器 包含全套理图 PCB 源代码
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈