`
littcai
  • 浏览: 245682 次
  • 性别: Icon_minigender_1
  • 来自: 无锡
社区版块
存档分类
最新评论

用MINA开发中遇到的问题

阅读更多
  • Socket服务器在启动是检测到端口被绑定的话会抛出java.net.BindException:Address already in use: JVM_Bind;而MINA不会
  • 客户端在调用connect方法时,如果连接主机或端口失败,并不会抛出任何异常,跟踪MINA源码可知,实际调用的是AbstractPollingIoConnector类的connect0方法,该方法在发生连接异常时创建了一个failedFuture并返回。只有在客户端实际调用connFuture.getSession();时才会抛出RuntimeIoException异常。
    • 在断网(即网络不通)的情况下,抛出java.net.NoRouteToHostException: No route to host
    • 如果连接不到主机或端口并且设置了中断等待时间的情况下,抛出java.net.ConnectException: Connection refused
    • 如果连接不到主机或端口并且未设置了中断等待时间的情况下,不抛出异常,此时获得的session为NULL
    • 如果能连接到主机对应端口,但是未设置awaitUninterruptibly();此时获得的session也为NULL
ConnectFuture connFuture = connector.connect(new InetSocketAddress("192.168.0.1", 12315));//发生连接异常时该行不会抛异常
connFuture.awaitUninterruptibly(1000);//如果不加这句,则连接异常时getSession()并不会抛异常,获得的SESSION为NULL
IoSession session = connFuture.getSession();//取SESSION的时候才抛异常  

 

 未解之谜

MINA的连接是长连接,这在服务器或客户端通讯中断exceptionCaught能捕获异常可以知道。我们也就不需要对客户端长连接再做心跳包的处理。不过不明白connector.setConnectTimeout(1);这个方法到底有什么作用???

 

  IDLE

1.1.7版本中,session可以直接设置idle时间;

2.0中需要如下代码设置idle时间:session.getConfig().setBothIdleTime(5);

分享到:
评论

相关推荐

    微信小程序开发遇到的那些坑

    小程序是微信推出的一种新的公众号的形态,不需要下载安装,即可在微信中使用的应用。同时,需要注意的是,小程序、订阅号、服务号、企业号是并行的体系。以下为CSDN知识库推出的“微信开发”知识图谱,能够更好地...

    herald-discussion-room-mina:「小猴答疑室」微信小程序

    Node.js 环境微信开发者工具(bug很多,注意保持更新)一个得心应手的文本编辑工具(不要用微信开发者工具当编辑器)安装 wepy在终端中执行:npm install wepy-cli -g如果安装遇到问题请参考 wepy 官方文档:补全...

    Android开发中Eclipse报错及对应处理方法总结

    本文较为详细的总结了Android开发中Eclipse报错及对应处理方法。分享给大家供大家参考,具体如下: 报错1: Conversion to Dalvik format failed with error 1 报错原因:原因是我在android工程中不小心多导入Java...

    文字识别解读小程序-包含代码-文档-演示视频.zip

    为解决这一问题,基于小程序开发设计一款智能文字识别查询小程序,采用Java语音进行开发,使用开放API实现图片文字识别,不用安装、使用方便,对方便人民的生活产生积极意义。 关键字:小程序 MINA JavaScript 文字...

    java开源包8

    JCaptcha4Struts2 是一个 Struts2的插件,用来增加验证码的支持,使用时只需要用一个 JSP 标签 (<jcaptcha:image label="Type the text "/> ) 即可,直接在 struts.xml 中进行配置,使用强大的 JCaptcha来生成验证码...

    详解使用mpvue开发github小程序总结

    现在总结一下遇到的坑。 扫码体验、 项目地址:https://github.com/cheesekun/wx-github mina坑 scroll-view 高度 可滚动视图区域。 使用竖向滚动时,需要给一个固定高度,通过 WXSS 设置 height。 小程序提供的...

    java开源包1

    JCaptcha4Struts2 是一个 Struts2的插件,用来增加验证码的支持,使用时只需要用一个 JSP 标签 (<jcaptcha:image label="Type the text "/> ) 即可,直接在 struts.xml 中进行配置,使用强大的 JCaptcha来生成验证码...

    java开源包11

    JCaptcha4Struts2 是一个 Struts2的插件,用来增加验证码的支持,使用时只需要用一个 JSP 标签 (<jcaptcha:image label="Type the text "/> ) 即可,直接在 struts.xml 中进行配置,使用强大的 JCaptcha来生成验证码...

    java开源包2

    JCaptcha4Struts2 是一个 Struts2的插件,用来增加验证码的支持,使用时只需要用一个 JSP 标签 (<jcaptcha:image label="Type the text "/> ) 即可,直接在 struts.xml 中进行配置,使用强大的 JCaptcha来生成验证码...

    java开源包3

    JCaptcha4Struts2 是一个 Struts2的插件,用来增加验证码的支持,使用时只需要用一个 JSP 标签 (<jcaptcha:image label="Type the text "/> ) 即可,直接在 struts.xml 中进行配置,使用强大的 JCaptcha来生成验证码...

    java开源包6

    JCaptcha4Struts2 是一个 Struts2的插件,用来增加验证码的支持,使用时只需要用一个 JSP 标签 (<jcaptcha:image label="Type the text "/> ) 即可,直接在 struts.xml 中进行配置,使用强大的 JCaptcha来生成验证码...

    java开源包5

    JCaptcha4Struts2 是一个 Struts2的插件,用来增加验证码的支持,使用时只需要用一个 JSP 标签 (<jcaptcha:image label="Type the text "/> ) 即可,直接在 struts.xml 中进行配置,使用强大的 JCaptcha来生成验证码...

    java开源包10

    JCaptcha4Struts2 是一个 Struts2的插件,用来增加验证码的支持,使用时只需要用一个 JSP 标签 (<jcaptcha:image label="Type the text "/> ) 即可,直接在 struts.xml 中进行配置,使用强大的 JCaptcha来生成验证码...

    java开源包4

    JCaptcha4Struts2 是一个 Struts2的插件,用来增加验证码的支持,使用时只需要用一个 JSP 标签 (<jcaptcha:image label="Type the text "/> ) 即可,直接在 struts.xml 中进行配置,使用强大的 JCaptcha来生成验证码...

    java开源包7

    JCaptcha4Struts2 是一个 Struts2的插件,用来增加验证码的支持,使用时只需要用一个 JSP 标签 (<jcaptcha:image label="Type the text "/> ) 即可,直接在 struts.xml 中进行配置,使用强大的 JCaptcha来生成验证码...

    java开源包9

    JCaptcha4Struts2 是一个 Struts2的插件,用来增加验证码的支持,使用时只需要用一个 JSP 标签 (<jcaptcha:image label="Type the text "/> ) 即可,直接在 struts.xml 中进行配置,使用强大的 JCaptcha来生成验证码...

    java开源包101

    JCaptcha4Struts2 是一个 Struts2的插件,用来增加验证码的支持,使用时只需要用一个 JSP 标签 (<jcaptcha:image label="Type the text "/> ) 即可,直接在 struts.xml 中进行配置,使用强大的 JCaptcha来生成验证码...

    Java资源包01

    JCaptcha4Struts2 是一个 Struts2的插件,用来增加验证码的支持,使用时只需要用一个 JSP 标签 (<jcaptcha:image label="Type the text "/> ) 即可,直接在 struts.xml 中进行配置,使用强大的 JCaptcha来生成验证码...

    JAVA上百实例源码以及开源项目源代码

     用JAVA开发的一个小型的目录监视系统,系统会每5秒自动扫描一次需要监视的目录,可以用来监视目录中文件大小及文件增减数目的变化。 Java日期选择控件完整源代码 14个目标文件 内容索引:JAVA源码,系统相关,日历,...

    JAVA上百实例源码以及开源项目

     用JAVA开发的一个小型的目录监视系统,系统会每5秒自动扫描一次需要监视的目录,可以用来监视目录中文件大小及文件增减数目的变化。 Java日期选择控件完整源代码 14个目标文件 内容索引:JAVA源码,系统相关,日历,...

Global site tag (gtag.js) - Google Analytics