در جلسه قبل با روش ساخت برنامه کلاینت سرور بدون اتصال با کمک کلاس سکوت آشنا شدید، در این جلسه بدون استفاده از کلاس سوکت برنامه های کلاینت/ سرور را می نویسیم.

در این نوع ارتباط سرور و کلاینت هر یک بر روی یک خط میتواند اطلاعات را دریافت نماید. در اینجا ارتباط دو طرفه وجود ندارد و برای ایجاد ارتباطی برای ارسال و دریافت اطلاعات باید دو ارتباط یک طرفه ایجاد نمود. یعنی هر برنامه در هر سمت با پورت مخصوص خود داده را ارسال نماید.

برای نوشتن چنین برنامه ای نیاز هست در ابتدا با کلاس UDPClient آشنا شویم:

کلاس UDPClient

این کلاس سرویس های شبکه را بر اساس پروتکل UDP در اختیار قرار می دهد.و ارسال و دریافت بسته های Udp را ممکن میسازد. انواع سازنده های آن میتواند به اشکال زیر باشد:
UDPClient نام دلخواه= new UDPClient( );
UDPClient نام دلخواه= new UDPClient(شماره پورت );
UDPClient نام دلخواه= new UDPClient(پورت و آدرس);

همچنین بصورت زیر نیز میتواند استفاده شود: (ابتدا توسط IPEndPoint مقداردهی شود)

مثال:

IPEndPoint test=new IPEndPoint(IpAddress.Parse(“192.168.1.1”), 2000);
UDPClient u= new UDPClient( test);

 

انواع متدهای پرکاربرد کلاس UdpClinet:

الف)متد Connect

این متد اختیاری است و با استفاده از آن میتوان مقصد پیشفرض را برای UdpClinet مشخص کرد.

ب) متد Receive

برای دریافت داده است و داده ای را که از طرف مقابل می آید دریافت کرده و در آرایه ای از بایتها ذخیره میکند.یک ورودی از نوع IPEndpoint میپذیرد.

مثلا:

IPEndPoint test=new IPEndPoint(IpAddress.Parse(“192.168.1.1”), 2000);
UDPClient u= new UDPClient( test);
Byte[]  m=u.Receive(ref test);

ج) متد Send

برای ارسال داده است.در یک نوع چهار ورودی میپذیرد. ورودی اول داده ارسالی از نوع Byte است. ورودی دوم طول داده ارسالی از نوع int است.ورودی سوم IP یا نام مقصد است و ورودی چهارم شماره پورت است.

د) متد Close

 

پیاده سازی یک برنامه کلاینت سرور از نوع UDP با socket

در مثال زیر یک ارتباط ساده بین سرور و کلاینت ایجاد شده است. نیاز به نوشتن دو برنامه داریم. یک برنامه در سمت سرور باید نوشته شود و برنامه دیگر در کلاینت نوشته و اجرا شود.

 

الف)برنامه سمت سرور

کدنویسان-برنامه سرور بی اتصال بدون استفاده از سوکت

ب) برنامه سمت کلاینت

کدنویسان-برنامه کلاینت اتصال بدون استفاده از سوکت