我已無法形容此刻我的心情..
本來是已經寫好的netty5的demo程序,server和client之間創建tcp長連接的..然后隨便傳點數據的簡單demo..然后今天試了一下tcp粘包的例子,用到了System.getProperty()方法,悲劇就從此產生了..改好了程序一運行,服務器端正常啟動,然后client端怎么也起不來,一啟動就自動退出,完善了一下client端的異常捕獲,然后就能偶爾報出些異常信息:
您的主機中的軟件中止了一個已建立的連接
恰巧今天裝了一些新軟件和插件,挨個全都卸載依然無法啟動client端,還是報這個錯誤..檢查殺軟和防火牆設置也沒有任何異常.
這很奇怪啊,debug一下,發現能正常連接,創建要發送的消息,然后准備發送的時候就掛掉了.又尋思難道本地運行環境壞了,趕緊回退代碼到沒改之前的狀態,一運行正常執行..對比一下代碼,我直接就倒了...
System.getProperty("line.separator") //本來應該是這樣的 System.getProperty("line.seperator") //然而我寫成了這樣
這是一個找茬游戲...
原因也很好理解了,jvm的取對應參數的時候沒取到,直接報異常結束程序.
又得到一個教訓:這種太底層的配置參數,能復制絕不手寫..錯起來真要命..