Chapter 1
Chapter 1
فرض کنید دو تا نرم افزار بخوان از طریق پروتکل TCP/IP با هم حرف بزنن.( Client/Server )
نرم افزاری رو بهش Server میگیم که معمولا منتظر تقاضا از طرف Client باشه.
این ماشین حالت برای زمانی است که شما در برنامه Socketی با پشتیبانی از پروتکل TCP ایجاد کرده باشین.
شما در فراخوانی روتین ها بایستی دقیقا بهمین شکل عمل کنید.
این دیاگرام بجز موارد جرئی تمامی اصول رو در بر دارد.
Server:
1. ابتدا یک Socket ایجاد می کنید که پروتکل TCP رو پشتیبانی کنه.
2. یه پورت خاصی رو مانیتور می کنید؛ معمولا از هر آدرسی که این تقاضا بیاد می تونیم قبول کنیم. ) listen (
3. اگه تقاضای جدیدی اومده باشه و می تونیم Accept اش کنیم.
بعد از Accept کردن می شه داده رد و بدل کرد.
4. اگر سوکت از طرف سرور بسته بشه هیچ پیامی به کلاینت نمی رسه، یعنی کلاینت زمانی متوجه بسته شدن سوکت می شه که
بخواد داده جدیدی بفرسته و به خطا بخوره و یا در وسط ارسال داده متوجه به قطع ارتباط میشه.
Client:
1. ابتدا یک Socket ایجاد می کنید که پروتکل TCP رو پشتیبانی کنه.
2. (Connect ) بعد بایستی تقاضای اتصال رو روی پورنی که سرور مانیتور می کنه بفرستیم( IP سرور هم که دیگه باید درست باشه!)
3. بعد شروع به انتقال داده می کنیم.
4. اگر قطع ارتباط از طرف کلاینت باشه حتما یه Event به سرور فرستاده می شه جهت اطلاع آن و سرور هم ارتباط رو می بنده.
بحث اتصال گرا بودن در برنامه نویسی به این اشاره دارد که طرف سرور بایستی عمل Listening ,و بعد از آن عمل Accept را در ابتدار برقراری هر ارتباطی اجرا کنه و در پایان روتین Close.
بحث اتصال گرا بودن طرف Client به این اشاره دارد که بایستی روتین Connect برای هر ارتباطی ابتدا فراخوانی بشه و در پایان نیز روتین Close. ( هر اتصال )
( نکات ارتباط اتصال گرا به مرور تکمیل می کنیم با دوستان و فعلا کافیه! )
(تکمیل خواهد شد
)