Is it possible to have a non-blocking receive and send in TCP with timeout? Since the socket layer appears not having non-blocking implemented(or working), I am looking into the raw API functions such as tcp_recv(), etc, however, these functions don't explicitly support a timeout, so could someone tell me what is the best solution in this situation? Using select seems to be risky since I assume the select() function mostly is associated with socket layer. Thanks a lot for your input.