TCP Client does not need to be a thread anymore. We will now have
multiple processes running a dedicated socket

Also made changes to use ServerSocket to implement connection timeout
feature