ReinerShir

ReinerShir

V2EX 第 440566 号会员,加入于 2019-09-10 11:33:11 +08:00
今日活跃度排名 3927
根据 ReinerShir 的设置,主题列表被隐藏
二手交易 相关的信息,包括已关闭的交易,不会被隐藏
ReinerShir 最近回复了
2 天前
回复了 zhanbiqiyu 创建的主题 随想 找不到自己每天活着的意义
少有的上百条回复,看来这条帖子引起了很多人的共鸣
2 天前
回复了 zhanbiqiyu 创建的主题 随想 找不到自己每天活着的意义
我甚至怀疑你在说我~~
零社交,除了八线老家的房子外,没车没房没女朋友,相亲了好几个也没成,每天得过且过,人生看不到希望
4 天前
回复了 t4we 创建的主题 随想 沪漂 5 年最孤独的时刻
你不是一个人!

有时我甚至在想去乡下种田是不是都比这有意思(当然我知道种田很累)

楼主玩不玩游戏?可以一起。
@ptmicky 没搞懂,为了 199 块钱有什么好闹的,收了这么多彩礼又异地分居又是怎么回事?

信息太少了。
20 天前
回复了 findlisa 创建的主题 职场话题 offer 不满意,纠结要不要去
有条件就等到 9 月再去面试
22 天前
回复了 fiypig 创建的主题 随想 五月相亲记
@yuanmomo 前面的我能理解,但是一个月就同居这种骚操作是怎么做到的?
@xinhochen 明白了,之所以来这里提问是因为设备开发那边说没办法做分割,所以才想能不能服务端这边确保每次发送数据都量独立一个包,谢谢啦。
@xinhochen 我查了下发现 netty 发现没有 DelimiterBasedFrameEncoder .唯一找到一个 MessageToByteEncoder 不明白怎么用,官方文档根本没提起该类。

我和设备之间通信是有自定义分割符的,例如返回信息给设备:
AABB0201EEFF ,其中 EEFF 就是包尾分割符。

现在的问题是我在代码中 writeAndFlush(AABB0201EEFF). 另一个线程 AABB0201EEFF(AABB0302EEFF),结果设备收到的是:AABB0201EEFFAABB0302EEFF ,这样子
@xinhochen 我的错,没描述完整,我接收设备的消息是没问题的,服务端是做了分割的,代码如下:

@Override
protected void initChannel(SocketChannel channel) throws Exception {
channel.pipeline().
//定义超时时间,参数分别为接收超时、发送超时、所有超时的时间
addLast(new IdleStateHandler(60,0,0)).
//包尾以 EEFF 结束,使用 netty 自带的粘包处理器,false 参数表示不去掉包尾字符
addLast(new DelimiterBasedFrameDecoder(1024,false,Unpooled.copiedBuffer(TCPServerUtils.hexStr2bytes("EEFF")))).
//addLast(new LengthFieldBasedFrameDecoder(1024,2,1)).
//addLast(new LengthFieldPrepender(1)).
addLast(new CustomDecode()). //自定义解码器
addLast(new ServerEventHandlerAdapter(event)) //自定义处理器
;
}

和设备通信是用分割符的,服务端做了粘包和半包处理。

现在问题是出在设备端,有时候心跳回复和指令连在一起发过去了,我问了下设备那边的开发,他说是我发的不对,猜测可能是在心跳回复的那 0.几秒的时候正好指令过来了,所以就连在一块了
长痘一般是由于皮肤油(比如我),我的办法是外用维 A 酸 + 洗面奶去油
所以结论就是保证面部不要有油,维 A 酸要用个几个月
关于   ·   帮助文档   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   3505 人在线   最高记录 5497   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 8ms · UTC 08:22 · PVG 16:22 · LAX 01:22 · JFK 04:22
♥ Do have faith in what you're doing.