Aracılığıyla paylaş


Socket.Poll Yöntem

Tanım

Aşırı Yüklemeler

Name Description
Poll(TimeSpan, SelectMode)

durumunu Socketbelirler.

Poll(Int32, SelectMode)

durumunu Socketbelirler.

Poll(TimeSpan, SelectMode)

Kaynak:
Socket.cs
Kaynak:
Socket.cs
Kaynak:
Socket.cs
Kaynak:
Socket.cs
Kaynak:
Socket.cs

durumunu Socketbelirler.

public:
 bool Poll(TimeSpan timeout, System::Net::Sockets::SelectMode mode);
public bool Poll(TimeSpan timeout, System.Net.Sockets.SelectMode mode);
member this.Poll : TimeSpan * System.Net.Sockets.SelectMode -> bool
Public Function Poll (timeout As TimeSpan, mode As SelectMode) As Boolean

Parametreler

timeout
TimeSpan

Yanıt bekleme süresi.

mode
SelectMode

Değerlerden SelectMode biri.

Döndürülenler

parametresinde Socket geçirilen yoklama modu değerine göre öğesinin mode durumu. Süresi dolmadan önce aşağıdaki koşullardan timeout herhangi biri gerçekleşirse, aksi takdirde falsedöndürürtrue.

  • içinSelectRead, çağrıldıysa ve bağlantı bekleniyorsaListen(), veriler okunabilecekse veya bağlantı kapatıldıysa, sıfırlandıysa veya sonlandırıldıysa döndürürtrue.
  • içinSelectWrite, bir Connect işleminin ve bağlantının başarılı olup olmadığını veya verilerin gönderilip gönderilemediğini döndürürtrue.
  • içinSelectError, engellemeyen bir Connect işleme ve bağlantı başarısız olursa veya ayarlanmadıysa ve bant dışı veriler kullanılabilir durumdaysa OutOfBandInline döndürürtrue.
  • Aksi takdirde falsedeğerini döndürür.

Özel durumlar

timeout -1 milisaniyeden küçük veya milisaniyeden MaxValue büyük.

Yuvaya erişmeye çalışılırken bir hata oluştu.

Şunlara uygulanır

Poll(Int32, SelectMode)

Kaynak:
Socket.cs
Kaynak:
Socket.cs
Kaynak:
Socket.cs
Kaynak:
Socket.cs
Kaynak:
Socket.cs

durumunu Socketbelirler.

public:
 bool Poll(int microSeconds, System::Net::Sockets::SelectMode mode);
public bool Poll(int microSeconds, System.Net.Sockets.SelectMode mode);
member this.Poll : int * System.Net.Sockets.SelectMode -> bool
Public Function Poll (microSeconds As Integer, mode As SelectMode) As Boolean

Parametreler

microSeconds
Int32

Mikrosaniye cinsinden yanıt bekleme süresi.

mode
SelectMode

Değerlerden SelectMode biri.

Döndürülenler

parametresinde Socket geçirilen yoklama modu değerine göre öğesinin mode durumu.

  • içinSelectRead, çağrıldıysa ve bağlantı bekleniyorsaListen(), veriler okunabilecekse veya bağlantı kapatıldıysa, sıfırlandıysa veya sonlandırıldıysa döndürürtrue.
  • içinSelectWrite, bir Connect işleminin ve bağlantının başarılı olup olmadığını veya verilerin gönderilip gönderilemediğini döndürürtrue.
  • içinSelectError, engellemeyen bir Connect işleme ve bağlantı başarısız olursa veya ayarlanmadıysa ve bant dışı veriler kullanılabilir durumdaysa OutOfBandInline döndürürtrue.
  • Aksi takdirde falsedeğerini döndürür.

Özel durumlar

mode parametresi değerlerden SelectMode biri değildir.

Yuvaya erişmeye çalışılırken bir hata oluştu. Aşağıdaki açıklamalara bakın.

Örnekler

Aşağıdaki kod örneği bir yuva oluşturur, bir sunucuya bağlanır ve yuvanın durumunu denetlemek için kullanır Poll .

//Creates the Socket for sending data over TCP.
Socket s = new Socket(AddressFamily.InterNetwork, SocketType.Stream,
   ProtocolType.Tcp );

// Connects to host using IPEndPoint.
s.Connect(EPhost);
if (!s.Connected)
{
   strRetPage = "Unable to connect to host";
}
// Use the SelectWrite enumeration to obtain Socket status.
 if(s.Poll(-1, SelectMode.SelectWrite)){
      Console.WriteLine("This Socket is writable.");
 }
 else if (s.Poll(-1, SelectMode.SelectRead)){
       Console.WriteLine("This Socket is readable." );
 }
 else if (s.Poll(-1, SelectMode.SelectError)){
      Console.WriteLine("This Socket has an error.");
 }
'Creates the Socket for sending data over TCP.
Dim s As New Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp)

' Connects to host using IPEndPoint.
s.Connect(EPhost)
If Not s.Connected Then
   strRetPage = "Unable to connect to host"
End If
' Use the SelectWrite enumeration to obtain Socket status.
If s.Poll(- 1, SelectMode.SelectWrite) Then
   Console.WriteLine("This Socket is writable.")
Else
   If s.Poll(- 1, SelectMode.SelectRead) Then
      Console.WriteLine(("This Socket is readable. "))
   Else
      If s.Poll(- 1, SelectMode.SelectError) Then
         Console.WriteLine("This Socket has an error.")
      End If
   End If 
End If

Açıklamalar

yöntemi, Poll durumunu Socketdenetler. parametresinin selectMode okunabilir olup olmadığını belirlemek için parametresini Socket belirtinSelectMode.SelectRead. yazılabilir olup olmadığını Socket belirlemek için belirtinSelectMode.SelectWrite. Bir hata koşulunu algılamak için kullanın SelectMode.SelectError . Poll , içinde ölçülen microsecondsbelirtilen süreye kadar yürütmeyi engeller veya veriler kullanılabilir duruma gelir. microSeconds Yanıt için süresiz olarak beklemek istiyorsanız parametresini negatif bir tamsayıya ayarlayın. Birden çok yuvanın durumunu denetlemek istiyorsanız yöntemini kullanmayı Select tercih edebilirsiniz.

Uyarı

bir SocketExceptionalırsanız, özelliğini kullanarak SocketException.ErrorCode belirli bir hata kodunu alın. Bu kodu aldıktan sonra, hatanın ayrıntılı açıklaması için Windows Yuvaları sürüm 2 API hata kodu belgelerine bakın.

Uyarı

Bu yöntem, bozuk bir ağ kablosu gibi belirli türdeki bağlantı sorunlarını veya uzak konağın düzgün bir şekilde kapatıldığını algılayamaz. Bu tür hataları algılamak için veri göndermeye veya almaya çalışmanız gerekir.

Uyarı

Bu üye, uygulamanızda ağ izlemeyi etkinleştirdiğinizde izleme bilgilerini döndürür. Daha fazla bilgi için bkz. .NET Framework'te Ağ İzleme.

Ayrıca bkz.

Şunlara uygulanır