اگه بخوام خودمونی و غیرفنی بگم،مثل این میمونه که لایه شبکه (که فقط با IP ها سر و کار داره) در هر لحظه یه سری بسته (به اضافه یه سری اطلاعات اضافه که بهش میگیم هدر لایه انتقال) تحویل بگیره،بعد اینا رو بیاره بده به لایه انتقال.لایه انتقال هم تک تک بسته ها رو بگیره،از روی هدر پورتشون رو بخونه و داد بزنه که مثلا پورت ۸۰ مال کیه (کدوم برنامه)؟ بیاد بسته اشو ببره(برنامه وب بروزر میاد بسته رو میبره)،پورت ۲۵ مال کیه؟(برنامه پست الکترونیک میاد میبره) پورت ۲۳۴۵۲ مال کیه؟(یه برنامه متفرقه میاد میبره) و اینطوری هر بسته به برنامه کاربردی موردنظر میرسه.البته این انتزاعی بود وگرنه خود سیستم عامل میدونه هر برنامه ای از کدوم پورتها داره استفاده میکنه.مرسی متوجه شدم.لطف میکنی عملکرد سوکتو برام توضیح بدی؟یعنی چه جوری بسته ها رو به برنامه ی مربوطه تحویل میده؟از پورت استفاده می کنه دیگه؟!
برای serverسوکت برای دریافت بسته هایی مثل ACKاستفاده میشه؟!
واسه سرور هم فرق نمیکنه.فقط فرق سرور اینه که تعداد بیشتری از IP ها به یه پورت خاصش بسته میدن.مثلا یه سرور وب ممکنه در هر لحظه هزاران بسته براش بیاد که همه هم با پورت ۸۰ کار دارن (از اونجایی که IP هاشون فرق میکنه قاطی نمیشن).
فرق نمیکنه چه ack باشه و چه دیتا.چه واسه سرور و چه کلاینت.فرقی که کلاینت و سرور دارن توی این مورد اینه که سرور در اول کار بیشتر "پذیرنده درخواست" هست،یعنی میشینه به خط گوش میده ببینه کسی درخواستی میفرسته یا نه.