System.getProperty()引起的悲剧--您的主机中的软件中止了一个已建立的连接
我已无法形容此刻我的心情..
本来是已经写好的netty5的demo程序,server和client之间创建tcp长连接的..然后随便传点数据的简单demo..然后今天试了一下tcp粘包的例子,用到了System.getProperty()方法,悲剧就从此产生了..改好了程序一运行,服务器端正常启动,然后client端怎么也起不来,一启动就自动退出,完善了一下client端的异常捕获,然后就能偶尔报出些异常信息:
您的主机中的软件中止了一个已建立的连接
恰巧今天装了一些新软件和插件,挨个全都卸载依然无法启动client端,还是报这个错误..检查杀软和防火墙设置也没有任何异常.
这很奇怪啊,debug一下,发现能正常连接,创建要发送的消息,然后准备发送的时候就挂掉了.又寻思难道本地运行环境坏了,赶紧回退代码到没改之前的状态,一运行正常执行..对比一下代码,我直接就倒了...
System.getProperty("line.separator") //本来应该是这样的 System.getProperty("line.seperator") //然而我写成了这样
这是一个找茬游戏...
原因也很好理解了,jvm的取对应参数的时候没取到,直接报异常结束程序.
又得到一个教训:这种太底层的配置参数,能复制绝不手写..错起来真要命..