making connect timeouts behave like send/receive, i.e. 0 or -1 is infinite and 0-500 is 500