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 varyantlara 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 Listen yöntemini kullanarak 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. Bu döndürülen Socket'yi Send veya Receive yöntemini çağırmak için kullanın. İlk olarak yerel IP adresini ve bağlantı noktası numarasını belirtmek isterseniz, Bind yöntemini Listen yönteminden önce çağırın. Altta yatan hizmet sağlayıcının kullanıma uygun bir bağlantı noktası atamasını istiyorsanız, bağlantı noktası numarası olarak sıfırı kullanın. Bir dinleme konağına bağlanmak istiyorsanız yöntemini çağırın Connect . Verileri iletmek için Send veya Receive yöntemini çağırın.
  • UDP gibi bağlantısız bir protokol kullanıyorsanız bağlantıları hiç dinlemeniz gerekmez. Gelen herhangi bir veri birimini kabul etmek için ReceiveFrom yöntemini çağırın. Uzak bir konağa veri birimleri göndermek için SendTo 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 SendAsync veya ReceiveAsync kullanın. Gelen bağlantı istekleri AcceptAsync kullanılarak işlenebilir.
  • UDP gibi bağlantısız bir protokol kullanıyorsanız, SendToAsync'ı datagram göndermek ve ReceiveFromAsync'i datagram almak için kullanabilirsiniz.

Bir sokette birden çok zaman uyumsuz işlem gerçekleştirirseniz, bunların başlatıldıkları sıraya göre tamamlanması gerekmez.

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

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