C# ile UDP Dinleme ve Gönderme

c# logo

UDP standartı, data iletiminin tek yönlü olarak gönderilmesine dayanır ve karşı tarafın bu mesajı alıp almadığı, ya da yanlış mı aldığı konularına takılmaz. Veriyi sürekli gönderir. Bu durum, C# ile UDP Dinleme ve Gönderme durumunu hız ve süreklilik gerektiren yerlerde avantaja çevirirken, doğruluk gerektiren yerlerde bir dezavantaja çevirir. Bir UDP kaynağından gelen verileri okumak için kısa bir örnekten bahsedelim.

C# ile UDP Dinleme ve Gönderme

Kısaca diğer bir iletişim protokolü olan TCP protokolünden bahsedelim. TCP protokolünde iki ip arasında bir bağlantı olmalı ve alıcının; vericiye gönderim izni vermesi gerekir. Yani çift yönlüdür. Bu durum ister istemez gecikmelere neden olur. C# TCP üzerinden haberleşme örneğini detaylı olarak sonraki yazılarda yazabilirim.

UDP Protokolü için örneğimize geçelim:

Aslında oldukça sade ve anlaşılır bir kod. IPEndPoint’lere dinleme ya da gönderme komutu açıyoruz. Gelen veriyi string olarak okuyabiliyoruz.

Eğer, UDP kaynağından gelen verilerin sırasını takip etmek istiyorsanız, gelen veri kaynağında bulunan tarih, sayaç gibi bir veriyi geçici olarak tutarak, gelen yeni değerin bir öncekinden yeni olması kontrolünü yaparak  işleyebilirsiniz. Böylece hem hız, hemde veri sırası doğruluğunu sağlamış olacaksınız.

Kolay gelsin.

2 Comments

  1. Hocam ben bir hedefe örneğin 192.168.5.198 in 9999 portuna udp paket olara 1ae mesajını göndermek istiyorum. Programı start her yaptığımda 3 kere göndermesini istiyorum.Programı nasıl yapabilirm.

    1. önce udp portunu acıp tek seferlik bağlantı testi yapın. daha sonra bu işlemi bir timer içerisine koyun, timer interval 3000 oldugunda istediğiniz gibi çalışacaktır.

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir