Some performance improvements:
* JSON clients use BufferedOuputStream to write to sockets
* JSON server reads the input in larger blocks