برای نوشتن برنامه های کلاینت/سرور بدون اتصال (براساس پروتکل UDP) با کمک کلاس سوکت (socket) ،ساختار و مراحل ایجاد این نوع برنام ها را در ادامه توضیح می دهیم .

برای ایجاد ارتباط بدون اتصال باید دو برنامه در سمت سرور و سمت کلاینت نوشته شود . و در هر کدام از برنامه ها دو کار اصلی که باید انجام شود عبارتند از:

1- ایجاد یک شی سوکت  از نوع کلاس Socket

2- مقید کردن شیء سوکت به یک نقطه انتهایی IPEndPoint

بعد از این است که می توان پیام ها را ارسال و دریافت کرد. در این روش برای ارسال و دریافت پیام از دو متد زیر استفاده می شود:

یادآوری می کنیم برای ساخت سوکت از نوع بدون اتصال بصورت زیر عمل می کنیم:

Socket  نام دلخواه = new Socket(addressfamily.internetwork, sockettype.dgram, protocoltype.udp)

متد SendTo :

برای ارسال پیام از متد SendTo استفاده میشود. این متد پیام که بصورت آرایه ای از نوع بایت است به یک نقطه انتهایی می فرستد. شکل کلی بصورت زیر است:

SendTo( byte[] data , int offset , int size , SocketFlags flags , EndPoint remote)

متد ReceiveFrom :

و برای دریافت پیام از متد ReceiveFrom  استفاده می شود، پیام که ارایه ای از بایت است را از یک نقطه انتهایی می گیرد. شکل کلی آن بصورت زیر است:

ReceiveFrom( byte[] data , ref EndPoint remote)

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

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

برنامه در سمت سرور

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

 

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

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