netty
netty 直接可以拿来用,已解决,现遇到所有问题。
生万千欢喜心
这个作者很懒,什么都没留下…
展开
-
netty 如何知道是客户端主动掉线,并且channelId 在同时时出现的,数据混乱问题。
首先要知道netty 是多线程的。是基于Socket的。1: 之前博主在netty 中用List 来存储channelId 并作唯一识别,但忽略了一点,List 是不安全的。 尤其是多线程环境下,会出现数据混乱的问题。2: 出于安全考虑,又采取了Map 形式。如果只是用来存取channelId 肯定是没有问题。 但如果多个接口都去调取这个Map 呢? 似乎有所不妥。3: 博主这边环境是一个外网的应用,去给内网推送数据。这边存取 channelId 也没有考虑去用什么缓存在存取,直接是static原创 2020-11-20 09:28:35 · 3172 阅读 · 1 评论 -
netty 和 c++ 之间通讯,数据错乱问题
很简单,先在本地测试,如果都没有问题(前提你按对接文档写的),那就看生产环境,尤其是地址,其余的你本地都没事了,生产还能有啥事。 嘻嘻。原创 2020-11-12 09:35:25 · 897 阅读 · 0 评论 -
netty和 c++ 之间进行通信,c++无任何返回状态,如何知道服务端发送信息成功。
if(next.equals(channelId)){ try { byte[] bytes = Hex.decodeHex(msg); NettyServer.map.get(next).channel().writeAndFlush(Unpooled.buffer().writeBytes(bytes)).addListener(new ChannelFutureListener() { @Override public vo原创 2020-11-12 09:29:38 · 1460 阅读 · 0 评论 -
netty 终极篇 客户端,服务端双方通信,服务端自由发送。网络异常重新连接,tcp协议传输。(附带,写入,读取工具类txt,获取P配置文件工具类)
netty,io与nio的区别,先上代码在分析:依赖包: <dependency> <groupId>io.netty</groupId> <artifactId>netty-all</artifactId> <version>4.1.12.Final</version> </dependency>服务端:import com.gs.util.ReadUtils;imp原创 2020-10-29 09:59:30 · 209 阅读 · 1 评论 -
Netty 服务端,接受信息,且返回状态
<!-- netty --> <dependency> <groupId>io.netty</groupId> <artifactId>netty-all</artifactId> <version>4.1.12.Final</version> </dependency>import io.netty.bootstrap.ServerBootstrap.原创 2020-10-15 15:24:18 · 938 阅读 · 3 评论