שאלה על ווינסוק

ilankt

New member
שאלה על ווינסוק

כשאני משתמש בווינסוק, אז התוכנית כאילו נתקעת כשמשתמשים ב recieve, עד שהיא מקבלת הודעה, איך אפשר לעשות שזה לא יקרה?
 

אלדד28

New member
הרחבה קטנה על DNile,

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