V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  ReinerShir  ›  全部回复第 17 页 / 共 31 页
回复总数  616
1 ... 13  14  15  16  17  18  19  20  21  22 ... 31  
2021-05-18 14:24:58 +08:00
回复了 OkOObd 创建的主题 职场话题 如果在国内彻底躺平会怎么样?
大部分人是没有能力躺平,都是普通人,一个小小的打工人能走多高?

所以量力而行吧
@xinhochen 确实是用的 SIM 卡,用了个投机取巧的办法解决了

```java
@Override
public void userEventTriggered(ChannelHandlerContext ctx, Object evt) throws Exception {
if (evt instanceof IdleStateEvent) {//超时事件
IdleStateEvent idleEvent = (IdleStateEvent) evt;
//超时一段时间未接收到消息
if (idleEvent.state() == IdleState.READER_IDLE) {//读
String deviceNo = NettyChannelManager.getKey(ctx.channel());

if(!StringUtils.isEmpty(deviceNo)) {
Channel savedChannel = NettyChannelManager.getChannel(deviceNo);
Integer count = sessionRemoveMap.get(deviceNo);
//断开连接事件有可能在重连后触发,因此要判断是否已经重连了,如果未重连才真正的断开连接
if(count!=null||!savedChannel.isActive()) {
if(count>0) {
//移除标记
sessionRemoveMap.remove(deviceNo);
logger.warn("未接收到客户端消息,断开连接,设备号:{} ,{}",deviceNo,ctx.channel());
//断开连接并移除保存的状态
NettyChannelManager.removeAndClose(deviceNo);
ctx.close();
}else {
//如果已经重连,则本通道不要再触发无心跳包事件
//移除标记
sessionRemoveMap.remove(deviceNo);
return;
}
}else {
logger.info("断线标记:{} channel:{}",deviceNo,ctx.channel());
sessionRemoveMap.put(deviceNo, 1);
}
}else {
logger.warn("将直接断开连接,channel:{}",ctx.channel());
//直接断开
ctx.close();
}
}
}
super.userEventTriggered(ctx, evt);
}
```

第一次断线只是标记一下,第二次断线才真正断开,如果重连了,清除标记

```java
//如果已重连,将超时标记清除
if((action & 0x000000ff)==EventContract.EVENT_REPORT_AUTHENTICATION){
deviceId = NettyChannelManager.getKey(channel);
//如果之前确实断线过一次
if(sessionRemoveMap.remove(deviceId)!=null) {
//移除老通道
NettyChannelManager.removeChannel(ctx.channel());
}
sessionRemoveMap.put(deviceId,0);

}

```
@xinhochen 设备因为条件限制没法看日志,通过程序的日志可以判断不是设备主动断开,因为我断开老 channel 后没有收到心跳包了,而且其它每个可能会断开 channel 的地方我都加了日志的,并没有触发


@dallaslu 核心代码是就上面那些了,复现的流程是,设备断电再打开 -> 两秒后设备重连 -> 60 秒后触发 netty 超时(IdleState.READER_IDLE)事件 -> 断开老的通道连接(ctx.channel().close()) -> 然后就没有心跳包了,新连接也断开了
2021-05-12 10:23:33 +08:00
回复了 AichiB7A 创建的主题 健康 年纪轻轻,身体一堆毛病,唉
#16 +1 这是你自己选择的结果,你可以选择 955 + 多走动 ,不加班剩下的时间还可以用来锻炼
@xinhochen 新连接的断开是应该 netty 发起的,通过日志看到执行断开老的 channel,但是新的连接也跟着一块断开了
@3dwelcome 这个我也怀疑过,但是并不是这种情况,以下是我断电后打印的日志:

断电后重新连接:
重新连接 ,通道信息:[id: 0x15d2a4e1, L:/xxxx:8100 - R:/xxxx:27877]

重连后还是触发是未接收到心跳包:
将断开连接 ,连接通道:[id: 0x71bcb2a6, L:/xxxx:8100 - R:/xxxx:33776]

断开后再次重连:
重新连接,通道信息:[id: 0x6dc6bf85, L:/xxxx:8100 - R:/xxxx:50792]

可以看到每次重连源端口都是变化的
2021-05-11 13:31:02 +08:00
回复了 fiypig 创建的主题 职场话题 真的提离职以后真的舒服
@guancyxx4king 想回农村+1,可惜我也只能想想而已
@dallaslu 打印过,断开的 channel 和新连接的 channel ID 是不一样的,但是奇怪的是我断开老 channel,新的连接也跟着一起断了
2021-05-06 16:43:43 +08:00
回复了 jiaxin1121 创建的主题 问与答 你们的阿里小号能接到 106 开头或者 11 位手机短信吗
能接收到,但不能主动发短信
2021-05-06 10:14:08 +08:00
回复了 zhangysh1995 创建的主题 游戏 求推荐 PSV 游戏,顺带收二手
推荐个冷门但我个人非常喜欢的策略游戏:《自然法则》高难度硬核 SLG
2021-04-30 16:58:49 +08:00
回复了 drunkdog 创建的主题 职场话题 素质极差的面试官
@manami +1 遇到过不少装 B 的面试官,通过贬低面试者来获得他那可怜的优越感
2021-04-30 11:23:26 +08:00
回复了 privapps 创建的主题 程序员 自己搭了个聊天室
GFW 有点厉害,这种不知名小网站也能分分钟封掉
@czfy Bing 的搜索功能不太行,google 要翻墙太麻烦,这就是为何他有恃无恐,其实大家都不喜欢用百度,可惜国内没几个能打的
2021-04-28 09:21:57 +08:00
回复了 dxfree 创建的主题 Google 您的 Google Voice 号码 (xxx) xxx-xxxx 将在 30 天后过期
我挂了 VPN,但是 GOOGLE VOICE 为何提示所在地区不支持?
2021-04-19 16:42:07 +08:00
回复了 10bkill1p 创建的主题 知乎 如何应对孤独感?
在上海吗?要不要加个好友一起玩?
下载迪士尼 APP 有快速通道,现在不知道还有没有

人均排队两小时,游玩 2 分钟,可以带个折叠小凳子

加勒比海盗表演不错,排队时间较短

里面吃的东西比较贵,100 多起步

有条件建议选工作日去,否则一整天几乎都在排队了
2021-04-07 10:01:36 +08:00
回复了 ReinerShir 创建的主题 知乎 清明三天人都废了,如何扩大自己的社交圈?
@Vitas0409 很多人加你,我都加不进去了

@leofighting @vinceall 感觉难度过高,而且是英文交流

@GeekSuPro 大佬

@xtx @shadow1949 vx:cmVpbmVyX3NoaXI= 在上海的各位都可以加我,有活动相互告知(记得备注)
2021-04-06 16:14:09 +08:00
回复了 ReinerShir 创建的主题 知乎 清明三天人都废了,如何扩大自己的社交圈?
@Vitas0409 还在寻找中,若是有兴趣可以加我 QQ:MTkyOTY5Njc3MQ==,找到合适的活动会叫上你。

@BestSera 老哥,那你现在脱单了吗?

@xsn1993 你这个同事是不是长得挺帅,还满嘴骚话?

@vinceall 请问有什么渠道可以找到这些项目? 楼上的 3 小时公益算是一个。
1 ... 13  14  15  16  17  18  19  20  21  22 ... 31  
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5018 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 43ms · UTC 08:41 · PVG 16:41 · LAX 01:41 · JFK 04:41
Developed with CodeLauncher
♥ Do have faith in what you're doing.