2009-03-11 22 views
0

C# 'da bir yol arkadaşı oluşturuyorum. Ve bir limanda mesaj alıp göndermek için bir kodum var, ama onları nasıl kullanacağım konusunda 'küçük' bir karışıklık yaşıyorum. Her olayda gelen mesajların alınacağı bağlantı noktasını dinleyen bir işlevi sürekli çağırmalı mıyım? .. Eğer öyleyse, o zaman mesaj gönderecek olan işlevi nasıl arayabilirim? Eğer asenkron yöntemleri kullanırsanız, bir callback alacaksınız çünküBağlantıları bir bağlantı noktası üzerinden dinleme ve alma

cevap

2

Ya asenkron yöntemleri (örn BeginReceive) kullanın veya threading bakmak ...

, sen yoklama tarafından bogged olmaz veri alındığında.

İş parçacığı kullanıyorsanız, (örneğin bir döngüde TcpClient öğesinin TcpClient öğesinin Available özelliğini kontrol ederek) sorgulayabilirsiniz ve yoklama kendi başına olacaktır, kodunuzun geri kalanı yürütülmesini engellemez. iplik.

+0

Çok teşekkürler ... Senkron bağlantılar kullanmakta kararlıydım ama bu açıkça hayatı zorlaştıracak. – Avik

+0

@Avik: Asynch şeylerini kullanmak istemiyorsanız, Threading işleri (genellikle benim aldığım yaklaşımdır) –

İlgili konular