הרחבה קטנה על DNile,
recv על socket רגיל תתנהג בצורת blocking - כלומר עד שלא יגיע מידע, היא לא תחזור. בשביל זה משתמשים בפקודת select, שבודקת אם יש מידע לקבל, ואחד הפרמטרים שלה הוא גם timeout. בצורה כזו אפשר לבדוק את מצב ה-socket ולהפעיל את recv רק בזמן הנכון.