PDA

توجه ! این یک نسخه آرشیو شده می باشد و در این حالت شما عکسی را مشاهده نمی کنید برای مشاهده کامل متن و عکسها بر روی لینک مقابل کلیک کنید : Socket Programming - قسمت چهارم



Borna66
05-01-2012, 12:00 AM
سوکت چیست؟
سوکت انتزاعی است که یک برنامه کاربردی از طریق آن می تواند داده ها را ارسال و دریافت کند، همانند یک فایل باز که برنامه می تواند داده ها را در آن ذخیره و از آن بازیابی کند. سوکت موجب می شود که برنامه کاربردی به شبکه متصل شود و با برنامه های کاربردی دیگری که با آن شبکه متصل اند مخابره کند. اطلاعاتی که توسط برنامه کاربردی در یک ماشین در سوکت نوشته می شود، توسط برنامه دیگری در ماشین دیگر قابل خواندن است.
برنامه های کاربردی پیام ها را از طریق Socket به شبکه ارسال و از آن دریافت می کنند. یک مثال؛ برنامه کاربردی همانند یک خانه و سوکت مثل درب آن است. وقتی برنامه ای می خواهد پیامی را به برنامه دیگر در میزبان دیگری ارسال کند، آن پیام را از درب خودش به شبکه می فرستد. پیام ارسالی توسط یک زیر ساخت شبکه به درب میزبان مقصد می رسد. وقتی پیام به میزبان مقصد می رسد، پیام از درب دریافتی برنامه (سوکت) عبور میکند و سپس برنامه گیرنده روی پیام کار می کند.
همانطور که در شکل زیر نشان داده شده است، سوکت، واسطی بین لایه Application و لایه Transport در یک میزبان است. علاوه بر این، واسط برنامه نویسی است که نرم افزار های شبکه با آن در اینترنت ساخته می شوند. تولید کننده برنامه کاربردی بر روی هر چیزی در سمت لایه کاربردی سوکت کنترل دارد، ولی بر سمت لایه انتقال سوکت کنترل اندکی دارد. تنها کنترلی که تولید کننده برنامه کاربردی روی سمت لایه انتقال دارد، عبارت است از: 1- انتخاب پروتکل انتقال، و 2- توانایی اصلاح چند پارامتر لایه انتقال مثل حد اکثر اندازه میانگیر (Buffer) یا قطعه. وقتی تولید کننده برنامه کاربردی، پروتکل انتقال را انتخاب می کند، برنامه کاربردی با استفاده از سرویس های لایه انتقال فراهم شده توسط آن پروتکل ساخته می شود.

http://pnrblog.persiangig.com/image/SocketPro_Images/SocketPro_Image002.bmp
سوکت های مجموعه پروتکل TCP/IP به دو دسته تقسیم می شوند:
1- سوکت های استریم - Stream Sockets
2- سوکت های داده گرام - Datagram Sockets
سوکت های استریم از پروتکل انتها به انتهای TCP استفاده می کنند و یک سرویس استریم بایتی مطمئن را تهیه می نمایند. سوکت های داده گرام از UDP استفاده می کنند که یک پروتکل انتها به انتها است. برنامه ها با استفاده از UDP می توانند پیام هایی به طول 65500 بایت را ارسال کنند. سوکت TCP/IP با آدرس اینترنت یکتا، یک پروتکل انتها به انتها (TCP یا UDP) و شماره پورت مشخص می گردد.
شکل زیر یک رابطه منطقی را بین برنامه ها، سوکت ها، پروتکل ها و شماره پورت ها در یک میزبان نشان می دهد. توجه کنید که یک سوکت می تواند توسط چند برنامه کاربردی مراجعه شود. هر برنامه ای که به سوکت خاصی مراجعه دارد، می تواند از طریق آن سوکت مخابره کند. همانطور که پیش از این بیان شد، پورت برنامه ای را در میزبان مشخص می کند. در واقع، پورت، سوکتی را در میزبان مشخص می کند.

جهت مشاهده ی تصویر در ابعاد واقعی 504x258 پیکسل اینجا کلیک کنید.
http://pnrblog.persiangig.com/image/SocketPro_Images/SocketPro_Image003.bmp