מדריך קצר תכנות Socket עבור רשתות מחשב TCP / IP

תכנות Socket מחבר שרתים ומחשבי לקוח

תכנות Sockets הוא הטכנולוגיה הבסיסית מאחורי תקשורת ברשתות TCP / IP . שקע הוא נקודת קצה אחת של קישור דו-כיווני בין שתי תוכניות שפועלות ברשת. השקע מספק נקודת קצה תקשורת דו-כיוונית לשליחה וקבלה של נתונים עם שקע אחר. חיבורי Socket פועלים בדרך כלל בין שני מחשבים שונים ברשת מקומית ( LAN ) או באינטרנט, אך הם יכולים לשמש גם לתקשורת בין-אישית במחשב יחיד.

שקעים וכתובות

לנקודות קצה של Socket ברשתות TCP / IP יש כתובת ייחודית שהיא השילוב של כתובת IP ומספר יציאת TCP / IP. מכיוון שהשקע מחובר למספר יציאה ספציפי, שכבת TCP יכולה לזהות את היישום שאמור לקבל את הנתונים שנשלחו אליו. בעת יצירת שקע חדש, ספריית ה- socket מייצרת באופן אוטומטי מספר יציאה ייחודי במכשיר זה. המתכנת יכול גם לציין מספרי יציאה במצבים ספציפיים.

כיצד שרת Sockets עבודה

בדרך כלל שרת פועל במחשב אחד ויש לו שקע המחובר ליציאה מסוימת. השרת ממתין למחשב אחר כדי ליצור בקשת חיבור. מחשב הלקוח יודע את שם המארח של מחשב השרת ואת מספר היציאה שבו השרת מאזין. מחשב הלקוח מזהה את עצמו, ואם הכל ילך - השרת מאפשר למחשב הלקוח להתחבר.

ספריות Socket

במקום בקוד ישירות לממשקי API של שקע נמוך, מתכנתים ברשת משתמשים בדרך כלל בספריות שקע. שתי ספריות שקע נפוץ הן ברקלי Sockets עבור מערכות לינוקס / יוניקס ו WinSock עבור מערכות Windows.

ספריית שקעים מספקת קבוצה של פונקציות API דומים לאלה מתכנתים להשתמש לעבודה עם קבצים, כגון פתוח (), לקרוא (), לכתוב (), ולסגור ().