support multi-clients (used select() syscall on the linux)