Aracılığıyla paylaş


System.Net.Sockets.Socket sınıfı

Bu makale, bu API'nin başvuru belgelerine ek açıklamalar sağlar.

sınıfı, Socket ağ iletişimleri için zengin bir yöntem ve özellik kümesi sağlar. sınıfı, Socket numaralandırmada ProtocolType listelenen iletişim protokollerinden herhangi birini kullanarak hem zaman uyumlu hem de zaman uyumsuz veri aktarımı gerçekleştirmenizi sağlar.

sınıfı, Socket zaman uyumsuz yöntemler için .NET adlandırma desenini izler. Örneğin, zaman uyumlu Receive yöntem zaman uyumsuz ReceiveAsync değişkenlere karşılık gelir.

Zaman uyumlu işlem modu için aşağıdaki yöntemleri kullanın:

  • TCP gibi bağlantı odaklı bir protokol kullanıyorsanız, sunucunuz yöntemini kullanarak Listen bağlantıları dinleyebilir. Accept yöntemi, gelen tüm bağlantı isteklerini işler ve uzak konakla veri iletişim kurmak için kullanabileceğiniz bir Socket döndürür. veya Receive yöntemini çağırmak Send için bunu kullanınSocket. Bind Yerel IP adresini ve bağlantı noktası numarasını belirtmek istiyorsanız yöntemini çağırmadan Listen önce yöntemini çağırın. Temel alınan hizmet sağlayıcısının sizin için ücretsiz bir bağlantı noktası atamasını istiyorsanız sıfır numaralı bağlantı noktası kullanın. Bir dinleme konağına bağlanmak istiyorsanız yöntemini çağırın Connect . Verileri iletmek için veya Receive yöntemini çağırınSend.
  • UDP gibi bağlantısız bir protokol kullanıyorsanız bağlantıları hiç dinlemeniz gerekmez. Gelen veri birimlerini ReceiveFrom kabul etmek için yöntemini çağırın. SendTo Uzak bir konağa veri birimleri göndermek için yöntemini kullanın.

İletişimleri zaman uyumsuz olarak işlemek için aşağıdaki yöntemleri kullanın:

  • TCP gibi bağlantı odaklı bir protokol kullanıyorsanız, dinleme konağına bağlanmak için kullanın ConnectAsync . Verileri zaman uyumsuz olarak iletmek için veya ReceiveAsync kullanınSendAsync. Gelen bağlantı istekleri kullanılarak AcceptAsyncişlenebilir.
  • UDP gibi bağlantısız bir protokol kullanıyorsanız, veri birimleri göndermek ve ReceiveFromAsyncveri birimlerini almak için kullanabilirsinizSendToAsync.

Bir yuvada birden çok zaman uyumsuz işlem gerçekleştirirseniz, bunların başlatılma sırasına göre tamamlanması gerekmez.

Veri göndermeyi ve almayı bitirdiğinizde, yöntemini kullanarak Shutdown öğesini Socketdevre dışı bırakın. çağrısı Shutdownyaptıktan Close sonra ile ilişkili tüm kaynakları serbest bırakmak için yöntemini çağırın Socket.

Socket sınıfı, yöntemini kullanarak SetSocketOption yapılandırmanıza Socket olanak tanır. yöntemini kullanarak GetSocketOption bu ayarları alın.