課程
/后端開發
/Java
/自己動手實現RPC框架
server沒問題,一旦運行client就報錯
2020-03-19
源自:自己動手實現RPC框架 2-15
正在回答
老師的代碼沒有問題,有相同錯誤的自己糾正。查看
private?Response?invokeRemote(Request?request)?{ ????Response?resp?=?null; ????TransportClient?client?=?null; ????try?{ ????????client?=?selector.select(); ????????byte[]?outBytes??=?encoder.encode(request); ????????InputStream?receive?=?client.write(new?ByteArrayInputStream(outBytes)); ????????byte[]?inBytes?=?IOUtils.readFully(receive,?receive.available()); ????????resp?=?decoder.decode(inBytes,?Response.class); ????}?catch?(IOException?e)?{ ????????log.warn(e.getMessage(),?e); ????????resp?=?new?Response(); ????????resp.setCode(1); ????????resp.setMessage("RpcClient?got?error:" ????????+?e.getClass() ????????+?":"?+?e.getMessage()); ????}?finally?{ ????????if(client?!=?null){ ????????????selector.release(client); ????????} ????} ????return?resp; }
這部分代碼是否有誤。祝大家秋招順利~
看下RemoteInvoke.invoke是否有返回數據,就是在最后一步的時候不要return null;
因為老師的代碼實現有bug
RandomTransportSelector#select?方法實現錯誤,是取不應該是刪除;
可以直接clone我的代碼,可以直接運行出RPC效果
https://github.com/WuTong111/RPC.git
慕先生1008176
慕少0428329
解決了嗎? ,同樣這個問題?
舉報
自己動手實現一個完整的RPC框架,So Easy!
1 回答兄弟們client啟動一會報連接超時異常是怎么回事
3 回答啟動client報錯怎么辦?
1 回答最后測試那client服務連接不上server
1 回答運行報錯,關于fastjson
5 回答有沒有人在client.getProxy的時候報錯Cannot evaluate com.sun.proxy.$Proxy0.toString()
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號-11 京公網安備11010802030151號
購課補貼聯系客服咨詢優惠詳情
慕課網APP您的移動學習伙伴
掃描二維碼關注慕課網微信公眾號
2022-08-08
老師的代碼沒有問題,有相同錯誤的自己糾正。查看
這部分代碼是否有誤。祝大家秋招順利~
2020-10-17
看下RemoteInvoke.invoke是否有返回數據,就是在最后一步的時候不要return null;
2020-05-08
因為老師的代碼實現有bug
可以直接clone我的代碼,可以直接運行出RPC效果
https://github.com/WuTong111/RPC.git
2020-03-20
解決了嗎? ,同樣這個問題?