package com.example.myproject.demo.service.NettyExample;
import io.netty.bootstrap.Bootstrap;
import io.netty.buffer.ByteBuf;
import io.netty.buffer.Unpooled;
import io.netty.channel.*;
import io.netty.channel.nio.NioEventLoopGroup;
import io.netty.channel.socket.SocketChannel;
import io.netty.channel.socket.nio.NioSocketChannel;
import io.netty.handler.logging.LogLevel;
import io.netty.handler.logging.LoggingHandler;
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.nio.charset.StandardCharsets;
/**
* 客户端
*/
public class NettyClient {
public static void main(String[] args) throws Exception {
String host = "127.0.0.1";
int port = 8080;
EventLoopGroup workerGroup = new NioEventLoopGroup();
try {
Bootstrap b = new Bootstrap();
b.group(workerGroup);
b.channel(NioSocketChannel.class);
// b.option(ChannelOption.SO_KEEPALIVE, true);
b.option(ChannelOption.SO_KEEPALIVE, true);
b.handler(new ChannelInitializer<SocketChannel>() {
@Override
public void initChannel(SocketChannel ch)
throws Exception {
ChannelPipeline pipeline = ch.pipeline();
pipeline.addLast(
new RequestDataEncoder(),
new ResponseDataDecoder(),
new ClientHandler(),
new ClientOutHandler())
.addLast(new LoggingHandler(LogLevel.INFO));
}
});
ChannelFuture sync = b.connect(host, port).sync();
Channel channel = sync.channel();
BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(System.in));
String line;
while(!"over".equals(line = bufferedReader.readLine())){
RequestData msg = new RequestData();
int length = line.getBytes().length;
msg.setIntValue(length);
msg.setStringValue(line);
channel.writeAndFlush(msg);
}
sync.channel().closeFuture().sync();
} finally {
workerGroup.shutdownGracefully();
}
}
}
没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
收起资源包目录
NettyExample.rar (14个子文件)
NettyExample
RequestData.java 736B
ResponseDataEncoder.java 548B
ClientOutHandler.java 491B
RequestDataEncoder.java 1KB
ResponseDataDecoder.java 737B
SimpleProcessingInHandler.java 2KB
ResponseData.java 503B
SimpleProcessingHandler.java 1KB
SimpleProcessingOutHandler.java 699B
ClientHandler.java 1KB
RequestDecoder.java 996B
NettyClient.java 2KB
NettyServer.java 2KB
ProcessingHandler.java 1KB
共 14 条
- 1
资源评论
归鸿铭
- 粉丝: 51
- 资源: 3
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功