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