System.getProperty()引起的悲剧--您的主机中的软件中止了一个已建立的连接


我已无法形容此刻我的心情..

本来是已经写好的netty5的demo程序,server和client之间创建tcp长连接的..然后随便传点数据的简单demo..然后今天试了一下tcp粘包的例子,用到了System.getProperty()方法,悲剧就从此产生了..改好了程序一运行,服务器端正常启动,然后client端怎么也起不来,一启动就自动退出,完善了一下client端的异常捕获,然后就能偶尔报出些异常信息:

您的主机中的软件中止了一个已建立的连接

恰巧今天装了一些新软件和插件,挨个全都卸载依然无法启动client端,还是报这个错误..检查杀软和防火墙设置也没有任何异常.

这很奇怪啊,debug一下,发现能正常连接,创建要发送的消息,然后准备发送的时候就挂掉了.又寻思难道本地运行环境坏了,赶紧回退代码到没改之前的状态,一运行正常执行..对比一下代码,我直接就倒了...

System.getProperty("line.separator")  //本来应该是这样的
System.getProperty("line.seperator")  //然而我写成了这样

这是一个找茬游戏...

原因也很好理解了,jvm的取对应参数的时候没取到,直接报异常结束程序.

又得到一个教训:这种太底层的配置参数,能复制绝不手写..错起来真要命..


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM