I can't describe my mood at the moment.
It would have been written by the Netty5 demo program, which created a TCP long connection between the server and the client. Then simply send a simple demo of the data. Then today we tried the example of the TCP sticky packet, using the System.getproperty () method, the tragedy has been created. Changed the program to run, the server started normally, and then the client side how can not get up, a start automatically quit, perfect the client side of the exception capture, and then can occasionally report some abnormal information:
The software in your console aborted an established connection
It happened that today installed some new software and plug-ins, all the uninstall still can't start the clienet end, or to report this error. Check the kill and soft firewall settings without any exceptions.
This is very strange, debug, found to be able to connect normally, create the message to send, and then ready to send the time to hang up. Also wondered if the local operating environment is bad, hurriedly fallback code to the state before the change, a run normal execution. Compare the code, I fell straight ...
system.getproperty ("Line.separator") //should have been such a system.getproperty ( "Line.seperator") //However I wrote this
This is a fault-finding game ...
The reason is also very good understanding, the JVM to take the corresponding parameters when not taken, the direct report of the abnormal end of the program.
Also get a lesson: this too low-level configuration parameters, can copy never handwriting. It's a hell of a mistake.
System.getproperty () tragedy caused by the software in your console aborted an established connection