资源简介
来自于疯狂创客圈 《netty+protobuf 整合实战》的源代码,付上了 protobuf 的 protoc 工具, protoc-2.6.1-win32.zip
代码片段和文件信息
package com.crazymakercircle.chat.client;
import com.crazymakercircle.chat.common.ClientMsgBuilder;
import com.crazymakercircle.chat.common.Session;
import com.crazymakercircle.chat.common.bean.ChatMsg;
import com.crazymakercircle.chat.common.bean.User;
import com.crazymakercircle.chat.common.bean.msg.ProtoMsg;
import com.crazymakercircle.chat.common.codec.ProtobufDecoder;
import com.crazymakercircle.chat.common.codec.ProtobufEncoder;
import com.crazymakercircle.util;
import io.netty.bootstrap.Bootstrap;
import io.netty.buffer.PooledByteBufAllocator;
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.util.AttributeKey;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service;
import java.util.Date;
import java.util.Scanner;
import java.util.concurrent.TimeUnit;
@Service(“EchoClient“)
public class ChatClient
{
static final Logger LOGGER =
LoggerFactory.getLogger(ChatClient.class);
// 服务器ip地址
@Value(“${server.ip}“)
private String host;
// 服务器端口
@Value(“${server.port}“)
private int port;
// 通过nio方式来接收连接和处理连接
private EventLoopGroup group = new NioEventLoopGroup();
@Autowired
private ChatClientHandler chatClientHandler;
private Channel channel;
private User user;
/**
* 唯一标记
*/
private boolean initFalg = true;
/**
* 客户端的是Bootstrap,服务端的则是 ServerBootstrap。
* 都是AbstractBootstrap的子类。
**/
public void run()
{
doConnect(new Bootstrap() group);
}
/**
* 重连
*/
public void doConnect(Bootstrap bootstrap EventLoopGroup eventLoopGroup)
{
ChannelFuture f = null;
try
{
if (bootstrap != null)
{
bootstrap.group(eventLoopGroup);
bootstrap.channel(NioSocketChannel.class);
bootstrap.option(ChannelOption.SO_KEEPALIVE true);
bootstrap.option(ChannelOption.ALLOCATOR PooledByteBufAllocator.DEFAULT);
bootstrap.remoteAddress(host port);
// 设置通道初始化
bootstrap.handler(
new ChannelInitializer()
{
public void initChannel(SocketChannel ch) throws Exception
{
ch.pipeline().addLast(new ProtobufDecoder());
ch.pipeline().addLast(new ProtobufEncoder());
ch.pipeline().addLast(chatClientHandler);
}
}
);
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2018-11-09 22:10 .git\
文件 7 2018-11-07 23:36 .git\COMMIT_EDITMSG
文件 23 2018-11-07 20:14 .git\HEAD
文件 334 2018-11-09 13:58 .git\config
文件 73 2018-11-07 20:14 .git\desc
目录 0 2018-11-07 20:14 .git\hooks\
文件 478 2018-11-07 20:14 .git\hooks\applypatch-msg.sample
文件 896 2018-11-07 20:14 .git\hooks\commit-msg.sample
文件 3327 2018-11-07 20:14 .git\hooks\fsmonitor-watchman.sample
文件 189 2018-11-07 20:14 .git\hooks\post-update.sample
文件 424 2018-11-07 20:14 .git\hooks\pre-applypatch.sample
文件 1638 2018-11-07 20:14 .git\hooks\pre-commit.sample
文件 1348 2018-11-07 20:14 .git\hooks\pre-push.sample
文件 4898 2018-11-07 20:14 .git\hooks\pre-reba
文件 544 2018-11-07 20:14 .git\hooks\pre-receive.sample
文件 1492 2018-11-07 20:14 .git\hooks\prepare-commit-msg.sample
文件 3610 2018-11-07 20:14 .git\hooks\update.sample
文件 3688 2018-11-09 19:50 .git\index
目录 0 2018-11-07 20:14 .git\info\
文件 240 2018-11-07 20:14 .git\info\exclude
目录 0 2018-11-07 21:14 .git\logs\
文件 452 2018-11-07 23:36 .git\logs\HEAD
目录 0 2018-11-07 21:59 .git\logs\refs\
目录 0 2018-11-07 21:14 .git\logs\refs\heads\
文件 452 2018-11-07 23:36 .git\logs\refs\heads\master
目录 0 2018-11-07 21:59 .git\logs\refs\remotes\
目录 0 2018-11-07 21:59 .git\logs\refs\remotes\origin\
文件 280 2018-11-07 23:37 .git\logs\refs\remotes\origin\master
目录 0 2018-11-09 19:50 .git\ob
目录 0 2018-11-09 19:06 .git\ob
文件 333 2018-11-09 19:19 .git\ob
............此处省略462个文件信息
- 上一篇:锐起无盘win7网卡PNP工具
- 下一篇:Mathcad15_中文用户指南
相关资源
- 《Netty in Action》最新中文版和英文版
- Netty 实战(精髓) 中文 高清完整.p
- 《netty权威指南》私有协议栈开发完整
- Netty 4.x 用户指南 中文
- netty-api-4.1 中文版
- Netty权威指南源码-maven版
- Netty权威指南第二版的源码
- netty搭建tcp服务,粘拆包解决
- Netty性能测试
- Netty实战.zip
- Netty In Action 高清中文完整版 Netty实践
- netty实战高清pdf
- netty-4.1.13.Final.tar.bz2
- Netty权威指南(第2版)-书籍及源码
- Netty入门与实战:仿写微信IM即时通讯
- netty实战中文版
- Netty实战 中文超清版
- Netty权威指南《第一版&第二版》&Net
- DotNetty系列五:使用委托和事件调整代
- DotNetty系列三:编码解码器IdleStateHa
- nettydemo.zip
- Netty进阶之路 跟着案例学Netty_全书签
- Netty进阶之路-跟着案例学Netty
- Netty框架快速入门视频教程
- 基于Netty手写Dubbo框架
- netty的SSL双向认证
- netty.txt
- Netty+H5实现实时进度条文件上传,支持
- Netty同步等待数据返回代码
- 使用netty使用http协议开发文件服务器
评论
共有 条评论