課程
/后端開發(fā)
/Java
/自己動手實現(xiàn)RPC框架
server沒問題,一旦運行client就報錯
2020-03-19
源自:自己動手實現(xiàn)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是否有返回數(shù)據(jù),就是在最后一步的時候不要return null;
因為老師的代碼實現(xiàn)有bug
RandomTransportSelector#select?方法實現(xiàn)錯誤,是取不應(yīng)該是刪除;
可以直接clone我的代碼,可以直接運行出RPC效果
https://github.com/WuTong111/RPC.git
慕先生1008176
慕少0428329
解決了嗎? ,同樣這個問題?
舉報
自己動手實現(xiàn)一個完整的RPC框架,So Easy!
1 回答兄弟們client啟動一會報連接超時異常是怎么回事
3 回答啟動client報錯怎么辦?
1 回答最后測試那client服務(wù)連接不上server
1 回答運行報錯,關(guān)于fastjson
5 回答有沒有人在client.getProxy的時候報錯Cannot evaluate com.sun.proxy.$Proxy0.toString()
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號-11 京公網(wǎng)安備11010802030151號
購課補貼聯(lián)系客服咨詢優(yōu)惠詳情
慕課網(wǎng)APP您的移動學(xué)習(xí)伙伴
掃描二維碼關(guān)注慕課網(wǎng)微信公眾號
2022-08-08
老師的代碼沒有問題,有相同錯誤的自己糾正。查看
這部分代碼是否有誤。祝大家秋招順利~
2020-10-17
看下RemoteInvoke.invoke是否有返回數(shù)據(jù),就是在最后一步的時候不要return null;
2020-05-08
因為老師的代碼實現(xiàn)有bug
可以直接clone我的代碼,可以直接運行出RPC效果
https://github.com/WuTong111/RPC.git
2020-03-20
解決了嗎? ,同樣這個問題?