第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

java使用protobuf遇到的問題

java使用protobuf遇到的問題

米琪卡哇伊 2018-12-06 18:19:20
最近項目開發(fā)中有涉及到protobuf的模塊,詳情如下:   待開發(fā)的tcp客戶端與服務(wù)端保持socket長鏈接,只支持protobuf編碼格式的數(shù)據(jù)包,用的netty4框架,LengthFieldBasedFrameDecoder解碼器,為什么沒有用自帶的protobuf解碼器,因為涉及到多個protobuf實例。初始的socket連接建立沒有問題,服務(wù)端要求的心跳響應(yīng)也能回復,鏈路不會斷開。但是客戶端向服務(wù)端發(fā)送數(shù)據(jù)包時,服務(wù)端似乎并沒有收到,服務(wù)端向客戶端回傳消息時,收到的似乎與預期不相符,并且不能反序列化為對象。 下面是收到服務(wù)端回傳的消息時處理的代碼 ByteBuf buf = (ByteBuf) msg; int len = buf.readableBytes(); byte[] req = new byte[len]; buf.readBytes(req); byte[] vct = Arrays.copyOfRange(req, 12, req.length - 1); VctMessage rsp = VctMessage.parseFrom(vct);
查看完整描述

3 回答

?
慕碼人2483693

TA貢獻1860條經(jīng)驗 獲得超9個贊

原因居然是登錄認證前沒有讓服務(wù)端設(shè)置編碼為protobuf,不得不說做二次開發(fā)的文檔真是不可靠,折騰。

查看完整回答
反對 回復 2018-12-16
?
阿波羅的戰(zhàn)車

TA貢獻1862條經(jīng)驗 獲得超6個贊

你看一下《Netty權(quán)威指南》第8章, 它上面用了兩個Decoder, ProtobufVarint32FrameDecoder和ProtobufDecoder,我沒試過,你試一下

查看完整回答
反對 回復 2018-12-16
  • 3 回答
  • 0 關(guān)注
  • 766 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號