برای نوشتن برنامه های کلاینت/سرور بدون اتصال (براساس پروتکل 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
در مثال زیر یک ارتباط ساده بین سرور و کلاینت ایجاد شده به طوری که کلاینت داده ای ارسال و سرور دریافت می کند. نیاز به نوشتن دو برنامه داریم. یک برنامه در سمت سرور باید نوشته شود و برنامه دیگر در کلاینت نوشته و اجرا شود.
برنامه در سمت سرور