سوکت را میتوان به شکل یک مسیر دوطرفه در نظر گرفت. در واقع دو نقطه را به یکدیگر متصل میکند و و اجازه می دهد که دیتا ازیک نقطه به یک نقطه دیگر حرکت کند. بر اساس این تکنولوژی ، می بایست ایتدا متدی برای استفاده در TCP/IP و فراخوانی ان متد در نرم افزارهای کاربردی ساخته شود. امروزه دیگر سوکتها به شکل عمومی درامده اند و هر سوکتی که ساخته می شود می تواند به انواع روشها ارتباط برقرار نماید. از نقطه نظر یک توسعه دهنده برنامه ، ، یک سوکت چیزی است که می تواند متصل شود به جائی و اجازه دهد که داده ها از نقطه ای به نقطه دیگر ارسال و یا دریافت شود.
سوکتها تکنولوژی هسته ای نرم افزارهای کاربردی است که از طریق شبکه های IP ارتباط برقرار میکنند. برای برنامه نویسی با سوکتها از فضای نامی System.Net.Sockets استفاده میکنند.کلاس سوکت تقریبا یک کلاس انتزاعی از کتابخانه WinSock است.
باید به خاطر داشت که در .Net برای ساخت کلاسها ، نامهای System.Net و System.Net.Sockets را در بالای صفحه اضافه میکنیم.
ساخت سوکتها :
اگر بخواهیم قیاسی بین عملکرد یک سوکت داشته باشیم ، می توان این مسئله را با تماس تلفنی مقایسه کرد : قبل از شروع به صحبت ، شما ابتدا یک شماره میگیرید . در دنیای کلاسهای شبکه این به معنای برقراری ارتباط است و این به آن معنا است که یک نمونه از کلاس سوکت ایجاد شده است.
هنگام تعامل با برنامه های مبتنی بر سوکت ، عمدتا با دو کلاس مشروح در زیر کار داریم :
-
کلاس Socket ( از فضای نامی System.Net.Sockets ) – این نماینده ، یک نمونه از اینترفیس سوکتها است.به خاطر بسپارید که یک خط لوله دوطرفه است که برای ارسال و دریافت اطلاعات در طول یک شبکه استفاده می شود.
-
کلاس IPEndpoint : ( از فضای نامی System.Net ) – این کلاس یک IP Address را کپسوله میکند. ( به عبارت دیگر آدرس نقطه نهایی یا همان انتهای لوله را نمایش میدهد.)
ساخت یک نمونه Socket کاری سرراست و آسانی است. برای اینکار به سه آرگومان نیاز داریم :
-
آدرسی که سوکت از آن استفاده میکند.
-
نوع سوکتی که ایجاد می شود.
-
نوع پروتکلی که سوکت هنگام استفاده ایجاد میکند.
انواع آدرس می تواند بر اساس جدول زیر تعیین شود :
برای هدفمان در این مقاله ، ما از روش آدرس InterNetwork استفاده میکنیم(برای آدرسدهی بر اساس پروتکل اینترنت). عبارت بعدی در ساخت سوکت نوع سوکت است. برای ما با توجه به انتخاب internetwork دو انتخاب وجود دارد :
هنگامیکه ما پروتکل انتقال TCP (مخصوصا) را انتخاب میکنیم، بهتر است از Stream استفاده میکنیم. در اینجا نیز ما stream را انتخاب میکنیم.System.Net.Sockets شامل یک Enumeration است که مربوط به نوع سوکت است. در جدول زیر انواع این سوکتها را می بینیم.
توجه :
پروتکلهای ارتباطی مبتنی بر Stream قابل اعتمادتر و هستند. زیرا در صورت بروز خطا امکان ارسال مجدد اطلاعات را دارند. ارتباطات مبتنی بر Datagram ، سریعتر هستند ولی هیچ روش کنترل خطائی ندارند. Packet های TCP مبتنی بر Streamهستند و Packetهای UDP مبتنی بر DataGram هستند.
|
آخرین پارامتر فراهم شده برای سازنده سوکت ، نوع پروتکل می باشد. دوباره یک Enumeration به داد ما می رسد. نام این Enumeration ،ProtocolType است. در جدول زیر این پروتکلها را می بینیم :
Protocoltype ای که ما در این مثال قرار است استفاده کنیم ، TCP است.
ProtocolType.Tcp
با قرار دادن اینها کنار هم میتوانیم یک سوکت بسازیم. در زیر به صورت نمونه یک سوکت را ساخته ایم:
|