made timeouts configurable
Connect with SocketConfiguration