内容简介:smart-socket是一款国产开源的Java AIO框架,追求代码量、性能、稳定性、接口设计各方面都达到极致。如果smart-socket对您有一丝帮助,请Star一下我们的项目并持续关注;如果您对smart-socket并不满意,那请多一些耐心,smart-socket一直在努力变得更好。1、优化客户端Session的使用体验此前我们的客户端服务想获得AioSession对象进行数据输出很不方便,需要依赖NEW_SESSION状态机,并在消息处理器中开放getSessioni以供外部使用。
smart-socket是一款国产开源的Java AIO框架,追求代码量、性能、稳定性、接口设计各方面都达到极致。如果smart-socket对您有一丝帮助,请Star一下我们的项目并持续关注;如果您对smart-socket并不满意,那请多一些耐心,smart-socket一直在努力变得更好。
更新内容:
1、优化客户端Session的使用体验
此前我们的客户端服务想获得AioSession对象进行数据输出很不方便,需要依赖NEW_SESSION状态机,并在消息处理器中开放getSessioni以供外部使用。
public class IntegerClient { public static void main(String[] args) throws Exception { IntegerClientProcessor processor = new IntegerClientProcessor(); AioQuickClient<Integer> aioQuickClient = new AioQuickClient<Integer>("localhost", 8888, new IntegerProtocol(), processor); aioQuickClient.start(); processor.getSession().write(1); Thread.sleep(1000); aioQuickClient.shutdown(); } } public class IntegerClientProcessor implements MessageProcessor<Integer> { private AioSession<Integer> session; @Override public void process(AioSession<Integer> session, Integer msg) { System.out.println("receive data from server:" + msg); } @Override public void stateEvent(AioSession<Integer> session, StateMachineEnum stateMachineEnum, Throwable throwable) { switch (stateMachineEnum) { case NEW_SESSION: this.session = session; break; default: System.out.println("other state:" + stateMachineEnum); } } public AioSession<Integer> getSession() { return session; } }
新版本中调用AioQuickClient.start后便可获取到AioSession对象,使用更方便,代码更简洁。
public class IntegerClient { public static void main(String[] args) throws Exception { IntegerClientProcessor processor = new IntegerClientProcessor(); AioQuickClient<Integer> aioQuickClient = new AioQuickClient<Integer>("localhost", 8888, new IntegerProtocol(), processor); AioSession<Integer> session = aioQuickClient.start(); session.write(1); Thread.sleep(1000); aioQuickClient.shutdown(); } } public class IntegerClientProcessor implements MessageProcessor<Integer> { @Override public void process(AioSession<Integer> session, Integer msg) { System.out.println("receive data from server:" + msg); } @Override public void stateEvent(AioSession<Integer> session, StateMachineEnum stateMachineEnum, Throwable throwable) { System.out.println(" state:" + stateMachineEnum); } }
项目地址: https://gitee.com/smartboot/smart-socket/tree/v1.3.23/
后续smart-socket 1.3.X的版本都在分支上发布,欢迎大家关注。
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网
猜你喜欢:- YuebonCore 快速开发框架升级优化
- TPCMF v4.2.4 升级说明,内容管理框架
- WSTMart 商城系统框架升级到 ThinkPHP 5.1.32
- YuebonCore net5.0 开发框架更新升级,元旦快乐
- EB 级系统空中换引擎:阿里调度执行框架如何全面升级?
- smart-socket v1.3.23 发布:优化升级通信框架
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。