亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

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

有沒有比在處理程序中實現方法更好的方法從 Netty 調用方法?

有沒有比在處理程序中實現方法更好的方法從 Netty 調用方法?

慕桂英546537 2023-07-19 15:33:13
這是一個簡單的問題。Netty 似乎是在服務器和客戶端之間發送信息的一個很好的工具。我想發送信息,還有事件……或者更確切地說,稱為做什么的指令。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();    }}我這里有這段代碼,它描述了服務器的處理程序。當客戶端向服務器發送消息時。該方法channelRead將被直接調用。如果我想在我的應用程序中使用其他功能,那么實現switch caseinside是否明智,或者 Netty 可以通過其他方式做到這一點?channelRead
查看完整描述

1 回答

?
藍山帝景

TA貢獻1843條經驗 獲得超7個贊

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

ctx.fireChannelRead(msg);

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


查看完整回答
反對 回復 2023-07-19
  • 1 回答
  • 0 關注
  • 86 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號