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

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

有沒有比在處理程序中實現(xiàn)方法更好的方法從 Netty 調(diào)用方法?

有沒有比在處理程序中實現(xiàn)方法更好的方法從 Netty 調(diào)用方法?

慕桂英546537 2023-07-19 15:33:13
這是一個簡單的問題。Netty 似乎是在服務(wù)器和客戶端之間發(fā)送信息的一個很好的工具。我想發(fā)送信息,還有事件……或者更確切地說,稱為做什么的指令。public class PojoServerHandler extends ChannelInboundHandlerAdapter {    private Logger logger = LoggerFactory.getLogger(getClass());    @Override    public void channelRead(ChannelHandlerContext ctx, Object msg) throws Exception {        Message body = (Message) msg;        logger.info("server read msg id:{}, body:{}", body.getId(), body.getBody());        Message response = new Message();        response.setId(1024);        response.setFrom("server");        response.setBody("hello from server");        ctx.writeAndFlush(response);    }    @Override    public void exceptionCaught(ChannelHandlerContext ctx, Throwable cause) throws Exception {        logger.error("server caught exception", cause);        ctx.close();    }}我這里有這段代碼,它描述了服務(wù)器的處理程序。當(dāng)客戶端向服務(wù)器發(fā)送消息時。該方法channelRead將被直接調(diào)用。如果我想在我的應(yīng)用程序中使用其他功能,那么實現(xiàn)switch caseinside是否明智,或者 Netty 可以通過其他方式做到這一點?channelRead
查看完整描述

1 回答

?
藍山帝景

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

可以有多個處理程序,每個處理程序執(zhí)行不同的任務(wù),而不是使用 switch case。您只需致電

ctx.fireChannelRead(msg);

如果您打算不在特定處理程序中處理消息,那么它將觸發(fā)管道中的下一個處理程序。


查看完整回答
反對 回復(fù) 2023-07-19
  • 1 回答
  • 0 關(guān)注
  • 84 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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