Socket.ConnectAsync Yöntem
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
Uzak konakla bağlantı için zaman uyumsuz bir istek başlatır.
Aşırı Yüklemeler
ConnectAsync(SocketType, ProtocolType, SocketAsyncEventArgs) |
Uzak ana bilgisayara bağlantı için zaman uyumsuz bir istek başlatır. |
ConnectAsync(IPAddress[], Int32, CancellationToken) |
Uzak bir konakla bağlantı kurar. |
ConnectAsync(String, Int32, CancellationToken) |
Uzak bir konakla bağlantı kurar. |
ConnectAsync(IPAddress, Int32, CancellationToken) |
Uzak bir konakla bağlantı kurar. |
ConnectAsync(String, Int32) |
Uzak bir konakla bağlantı kurar. |
ConnectAsync(IPAddress[], Int32) |
Uzak bir konakla bağlantı kurar. |
ConnectAsync(IPAddress, Int32) |
Uzak bir konakla bağlantı kurar. |
ConnectAsync(EndPoint, CancellationToken) |
Uzak bir konakla bağlantı kurar. |
ConnectAsync(SocketAsyncEventArgs) |
Uzak ana bilgisayara bağlantı için zaman uyumsuz bir istek başlatır. |
ConnectAsync(EndPoint) |
Uzak bir konakla bağlantı kurar. |
ConnectAsync(SocketType, ProtocolType, SocketAsyncEventArgs)
- Kaynak:
- Socket.cs
- Kaynak:
- Socket.cs
- Kaynak:
- Socket.cs
Uzak ana bilgisayara bağlantı için zaman uyumsuz bir istek başlatır.
public:
static bool ConnectAsync(System::Net::Sockets::SocketType socketType, System::Net::Sockets::ProtocolType protocolType, System::Net::Sockets::SocketAsyncEventArgs ^ e);
public static bool ConnectAsync (System.Net.Sockets.SocketType socketType, System.Net.Sockets.ProtocolType protocolType, System.Net.Sockets.SocketAsyncEventArgs e);
static member ConnectAsync : System.Net.Sockets.SocketType * System.Net.Sockets.ProtocolType * System.Net.Sockets.SocketAsyncEventArgs -> bool
Public Shared Function ConnectAsync (socketType As SocketType, protocolType As ProtocolType, e As SocketAsyncEventArgs) As Boolean
Parametreler
- socketType
- SocketType
Değerlerden SocketType biri.
- protocolType
- ProtocolType
Değerlerden ProtocolType biri.
SocketAsyncEventArgs Bu zaman uyumsuz yuva işlemi için kullanılacak nesne.
Döndürülenler
true
G/Ç işlemi bekliyorsa.
Completed parametresindeki e
olay, işlem tamamlandıktan sonra tetiklenir.
false
G/Ç işlemi zaman uyumlu olarak tamamlandıysa. Bu durumda, Completed parametredeki e
olay tetiklenmez ve e
parametre olarak geçirilen nesne, işlemin sonucunu almak için yöntem çağrısı döndürüldükten hemen sonra incelenebilir.
Özel durumlar
Bağımsız değişken geçerli değil. Birden çok arabellek belirtilirse, özellik null değilse bu BufferList özel durum oluşur.
e
parametresi null olamaz ve RemoteEndPoint null olamaz.
Socket dinlemede veya parametresinde e
belirtilen nesne kullanılarak SocketAsyncEventArgs bir yuva işlemi zaten devam ediyor.
Yuvaya erişmeye çalışılırken bir hata oluştu.
Yerel uç nokta ve aynı RemoteEndPoint adres ailesi değildir.
Kapatılmış Socket .
Çağrı yığınında daha yüksek bir çağıranın istenen işlem için izni yok.
Açıklamalar
Bağlantı odaklı bir protokol kullanıyorsanız, M:System.Net.Sockets.Socket.ConnectAsync(System.Net.Sockets.SocketType,System.Net.Sockets.ProtocolType,System.Net.Sockets.SocketAsyncEventArgs) yöntemi uzak ana bilgisayara bağlantı için zaman uyumsuz bir istek başlatır. Bağlantısız bir protokol kullanıyorsanız, ConnectAsync ve protocolType
parametreleri tarafından socketType
belirtilen varsayılan bir uzak konak oluşturur.
Tamamlanma bildirimi almak için EventHandler<SocketAsyncEventArgs> temsilcisini uygulayan bir geri çağırma yöntemi oluşturmanız ve geri çağırmayı SocketAsyncEventArgs.Completed olaya eklemeniz gerekir.
Çağıranın SocketAsyncEventArgs.RemoteEndPoint , özelliğini IPEndPoint bağlanacak uzak konağın değerine ayarlaması gerekir.
Çağıran, yöntemi çağırmadan ConnectAsync önce istenen herhangi bir kullanıcı durumu nesnesine özelliğini ayarlayabilirSocketAsyncEventArgs.UserToken, böylece bilgiler geri çağırma yönteminde alınabilir. Geri çağırma tek bir nesneden daha fazla bilgiye ihtiyaç duyuyorsa, diğer gerekli durum bilgilerini üye olarak tutmak için küçük bir sınıf oluşturulabilir.
UDP gibi bağlantısız bir protokol kullanıyorsanız, veri gönderip almadan önce arama ConnectAsync yapmanız gerekmez. uzak bir konakla iletişim kurmak için ve ReceiveFromAsync kullanabilirsinizSendToAsync. çağrısı ConnectAsyncyaparsanız, belirtilen varsayılan dışında bir adresten gelen tüm veri birimleri atılır. Varsayılan uzak konağı değiştirmek istiyorsanız istenen uç noktayla yöntemini yeniden çağırın ConnectAsync .
Varsayılan uzak ana bilgisayarı bir yayın adresine ayarlamak istiyorsanız, önce öğesini aramanız SetSocketOption ve Yayın'ı olarak true
ayarlamanız gerekir. Bu yapılmazsa, ConnectAsync yöntemi bir SocketExceptionoluşturur.
Nesnede System.Net.Sockets.SocketAsyncEventArgs aşağıdaki özellikler ve olaylar gereklidir:
İsteğe bağlı olarak, yöntem başarılı olduktan sonra ConnectAsync yuvaya atomik olarak gönderilecek bir arabellek sağlanabilir. Bu durumda, özelliğin SocketAsyncEventArgs.Buffer gönderilecek verileri içeren arabelleğe ayarlanması ve özelliğin SocketAsyncEventArgs.Count arabellekten gönderilecek veri bayt sayısına ayarlanması gerekir. Bağlantı kurulduktan sonra bu veri arabelleği gönderilir.
Bağlantı odaklı bir protokol kullanıyorsanız ve çağrısı ConnectAsyncyapmadan önce aramazsanızBind, temel alınan hizmet sağlayıcısı en uygun yerel ağ adresini ve bağlantı noktası numarasını atar.
Bağlantısız bir protokol kullanıyorsanız, veya ReceiveAsync yöntemlerini çağırana SendAsync kadar hizmet sağlayıcısı yerel bir ağ IP adresi ve bağlantı noktası numarası atamaz.
ve adres ConnectAsync ailesi aynı adres ailesi Socket değilse yöntemi oluştururNotSupportedException.SocketAsyncEventArgs.RemoteEndPoint
Not
Bu yöntemi çağırırken bir SocketException alırsanız, belirli bir hata kodunu almak için özelliğini kullanın SocketException.ErrorCode . 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.
Şunlara uygulanır
ConnectAsync(IPAddress[], Int32, CancellationToken)
- Kaynak:
- Socket.Tasks.cs
- Kaynak:
- Socket.Tasks.cs
- Kaynak:
- Socket.Tasks.cs
Uzak bir konakla bağlantı kurar.
public:
System::Threading::Tasks::ValueTask ConnectAsync(cli::array <System::Net::IPAddress ^> ^ addresses, int port, System::Threading::CancellationToken cancellationToken);
public System.Threading.Tasks.ValueTask ConnectAsync (System.Net.IPAddress[] addresses, int port, System.Threading.CancellationToken cancellationToken);
member this.ConnectAsync : System.Net.IPAddress[] * int * System.Threading.CancellationToken -> System.Threading.Tasks.ValueTask
Public Function ConnectAsync (addresses As IPAddress(), port As Integer, cancellationToken As CancellationToken) As ValueTask
Parametreler
- addresses
- IPAddress[]
Uzak ana bilgisayara bağlanmayı denerken kullanılacak uzak ana bilgisayar için IPAddresses listesi.
- port
- Int32
Bağlanacak uzak konak üzerindeki bağlantı noktası.
- cancellationToken
- CancellationToken
Zaman uyumsuz işlemi iptal etmek için kullanılabilecek bir iptal belirteci.
Döndürülenler
Bağlantı kurulduğunda tamamlanan zaman uyumsuz bir görev.
Özel durumlar
addresses
Parametre null olamaz.
addresses
Parametre boş dizi olamaz.
dinliyor Socket .
Yuva veya InterNetworkV6 ailelerinde InterNetwork değil.
Yuvaya erişmeye çalışılırken bir hata oluştu.
Kapatılmış Socket .
Çağrı yığınında daha yüksek bir çağıranın istenen işlem için izni yok.
İptal belirteci iptal edildi. Bu özel durum, döndürülen görevde depolanır.
Açıklamalar
Bu yöntem, yöntemin zaman uyumlu karşılık geleninin atabileceği tüm kullanım dışı özel durumları döndürdüğü görevde depolar. Döndürülen görevde bir özel durum depolanıyorsa, görev beklenirken bu özel durum oluşturulur. gibi ArgumentExceptionkullanım özel durumları yine de zaman uyumlu olarak oluşturulur. Depolanan özel durumlar için tarafından oluşan Connect(IPAddress[], Int32)özel durumlara bakın.
Şunlara uygulanır
ConnectAsync(String, Int32, CancellationToken)
- Kaynak:
- Socket.Tasks.cs
- Kaynak:
- Socket.Tasks.cs
- Kaynak:
- Socket.Tasks.cs
Uzak bir konakla bağlantı kurar.
public:
System::Threading::Tasks::ValueTask ConnectAsync(System::String ^ host, int port, System::Threading::CancellationToken cancellationToken);
public System.Threading.Tasks.ValueTask ConnectAsync (string host, int port, System.Threading.CancellationToken cancellationToken);
member this.ConnectAsync : string * int * System.Threading.CancellationToken -> System.Threading.Tasks.ValueTask
Public Function ConnectAsync (host As String, port As Integer, cancellationToken As CancellationToken) As ValueTask
Parametreler
- host
- String
Bağlanacak uzak konağın ana bilgisayar adı.
- port
- Int32
Bağlanacak uzak konak üzerindeki bağlantı noktası.
- cancellationToken
- CancellationToken
Zaman uyumsuz işlemi iptal etmek için kullanılabilecek bir iptal belirteci.
Döndürülenler
Bağlantı kurulduğunda tamamlanan zaman uyumsuz bir görev.
Özel durumlar
host
Parametre null olamaz.
dinliyor Socket .
Yuva veya InterNetworkV6 ailelerinde InterNetwork değil.
Yuvaya erişmeye çalışılırken bir hata oluştu.
Kapatılmış Socket .
Çağrı yığınında daha yüksek bir çağıranın istenen işlem için izni yok.
İptal belirteci iptal edildi. Bu özel durum, döndürülen görevde depolanır.
Açıklamalar
Bu yöntem, yöntemin zaman uyumlu karşılık geleninin atabileceği tüm kullanım dışı özel durumları döndürdüğü görevde depolar. Döndürülen görevde bir özel durum depolanıyorsa, görev beklenirken bu özel durum oluşturulur. gibi ArgumentExceptionkullanım özel durumları yine de zaman uyumlu olarak oluşturulur. Depolanan özel durumlar için tarafından oluşan Connect(String, Int32)özel durumlara bakın.
Şunlara uygulanır
ConnectAsync(IPAddress, Int32, CancellationToken)
- Kaynak:
- Socket.Tasks.cs
- Kaynak:
- Socket.Tasks.cs
- Kaynak:
- Socket.Tasks.cs
Uzak bir konakla bağlantı kurar.
public:
System::Threading::Tasks::ValueTask ConnectAsync(System::Net::IPAddress ^ address, int port, System::Threading::CancellationToken cancellationToken);
public System.Threading.Tasks.ValueTask ConnectAsync (System.Net.IPAddress address, int port, System.Threading.CancellationToken cancellationToken);
member this.ConnectAsync : System.Net.IPAddress * int * System.Threading.CancellationToken -> System.Threading.Tasks.ValueTask
Public Function ConnectAsync (address As IPAddress, port As Integer, cancellationToken As CancellationToken) As ValueTask
Parametreler
- address
- IPAddress
Bağlanacak uzak konağın IPAddress değeri.
- port
- Int32
Uzak konakta bağlanacak bağlantı noktası.
- cancellationToken
- CancellationToken
Zaman uyumsuz işlemi iptal etmek için kullanılabilecek bir iptal belirteci.
Döndürülenler
Bağlantı kurulduğunda tamamlanan zaman uyumsuz bir görev.
Özel durumlar
address
Parametre null olamaz.
Dinliyor Socket .
Yuvaya erişmeye çalışılırken bir hata oluştu.
Kapatılmış Socket .
Çağrı yığınında daha yüksek bir çağıranın istenen işlem için izni yok.
İptal belirteci iptal edildi. Bu özel durum, döndürülen görevde depolanır.
Açıklamalar
Bu yöntem, görevin içinde depolar ve yöntemin zaman uyumlu karşılık geleninin atabileceği tüm kullanım dışı özel durumları döndürür. Döndürülen görevde bir özel durum depolanırsa, görev beklenirken bu özel durum oluşturulur. gibi ArgumentExceptionkullanım özel durumları yine zaman uyumlu olarak oluşturulur. Depolanan özel durumlar için tarafından oluşan Connect(IPAddress, Int32)özel durumlara bakın.
Şunlara uygulanır
ConnectAsync(String, Int32)
- Kaynak:
- Socket.Tasks.cs
- Kaynak:
- Socket.Tasks.cs
- Kaynak:
- Socket.Tasks.cs
Uzak bir konakla bağlantı kurar.
public:
System::Threading::Tasks::Task ^ ConnectAsync(System::String ^ host, int port);
public System.Threading.Tasks.Task ConnectAsync (string host, int port);
member this.ConnectAsync : string * int -> System.Threading.Tasks.Task
Public Function ConnectAsync (host As String, port As Integer) As Task
Parametreler
- host
- String
Bağlanacak uzak konağın ana bilgisayar adı.
- port
- Int32
Uzak konakta bağlanacak bağlantı noktası.
Döndürülenler
Bağlantı kurulduğunda tamamlanan zaman uyumsuz bir görev.
Özel durumlar
host
Parametre null olamaz.
Dinliyor Socket .
Yuva ya InterNetworkV6 da ailelerde InterNetwork değil.
Yuvaya erişmeye çalışılırken bir hata oluştu.
Kapatılmış Socket .
Çağrı yığınında daha yüksek bir çağıranın istenen işlem için izni yok.
Açıklamalar
Bu yöntem, görevin içinde depolar ve yöntemin zaman uyumlu karşılık geleninin atabileceği tüm kullanım dışı özel durumları döndürür. Döndürülen görevde bir özel durum depolanırsa, görev beklenirken bu özel durum oluşturulur. gibi ArgumentExceptionkullanım özel durumları yine zaman uyumlu olarak oluşturulur. Depolanan özel durumlar için tarafından oluşan Connect(String, Int32)özel durumlara bakın.
Şunlara uygulanır
ConnectAsync(IPAddress[], Int32)
- Kaynak:
- Socket.Tasks.cs
- Kaynak:
- Socket.Tasks.cs
- Kaynak:
- Socket.Tasks.cs
Uzak bir konakla bağlantı kurar.
public:
System::Threading::Tasks::Task ^ ConnectAsync(cli::array <System::Net::IPAddress ^> ^ addresses, int port);
public System.Threading.Tasks.Task ConnectAsync (System.Net.IPAddress[] addresses, int port);
member this.ConnectAsync : System.Net.IPAddress[] * int -> System.Threading.Tasks.Task
Public Function ConnectAsync (addresses As IPAddress(), port As Integer) As Task
Parametreler
- addresses
- IPAddress[]
Uzak ana bilgisayara bağlanmaya çalışmak için kullanılacak uzak ana bilgisayar için IPAddresses listesi.
- port
- Int32
Uzak konakta bağlanacak bağlantı noktası.
Döndürülenler
Bağlantı kurulduğunda tamamlanan zaman uyumsuz bir görev.
Özel durumlar
addresses
Parametre null olamaz.
addresses
Parametre boş dizi olamaz.
Dinliyor Socket .
Yuva ya InterNetworkV6 da ailelerde InterNetwork değil.
Yuvaya erişmeye çalışılırken bir hata oluştu.
Kapatılmış Socket .
Çağrı yığınında daha yüksek bir çağıranın istenen işlem için izni yok.
Açıklamalar
Bu yöntem, görevin içinde depolar ve yöntemin zaman uyumlu karşılık geleninin atabileceği tüm kullanım dışı özel durumları döndürür. Döndürülen görevde bir özel durum depolanırsa, görev beklenirken bu özel durum oluşturulur. gibi ArgumentExceptionkullanım özel durumları yine zaman uyumlu olarak oluşturulur. Depolanan özel durumlar için tarafından oluşan Connect(IPAddress[], Int32)özel durumlara bakın.
Şunlara uygulanır
ConnectAsync(IPAddress, Int32)
- Kaynak:
- Socket.Tasks.cs
- Kaynak:
- Socket.Tasks.cs
- Kaynak:
- Socket.Tasks.cs
Uzak bir konakla bağlantı kurar.
public:
System::Threading::Tasks::Task ^ ConnectAsync(System::Net::IPAddress ^ address, int port);
public System.Threading.Tasks.Task ConnectAsync (System.Net.IPAddress address, int port);
member this.ConnectAsync : System.Net.IPAddress * int -> System.Threading.Tasks.Task
Public Function ConnectAsync (address As IPAddress, port As Integer) As Task
Parametreler
- address
- IPAddress
Bağlanacak uzak konağın IPAddress değeri.
- port
- Int32
Uzak konakta bağlanacak bağlantı noktası.
Döndürülenler
Bağlantı kurulduğunda tamamlanan zaman uyumsuz bir görev.
Özel durumlar
address
Parametre null olamaz.
Dinliyor Socket .
Yuva ya InterNetworkV6 da ailelerde InterNetwork değil.
Yuvaya erişmeye çalışılırken bir hata oluştu.
Kapatılmış Socket .
Çağrı yığınında daha yüksek bir çağıranın istenen işlem için izni yok.
Açıklamalar
Bu yöntem, görevin içinde depolar ve yöntemin zaman uyumlu karşılık geleninin atabileceği tüm kullanım dışı özel durumları döndürür. Döndürülen görevde bir özel durum depolanırsa, görev beklenirken bu özel durum oluşturulur. gibi ArgumentExceptionkullanım özel durumları yine zaman uyumlu olarak oluşturulur. Depolanan özel durumlar için tarafından oluşan Connect(IPAddress, Int32)özel durumlara bakın.
Şunlara uygulanır
ConnectAsync(EndPoint, CancellationToken)
- Kaynak:
- Socket.Tasks.cs
- Kaynak:
- Socket.Tasks.cs
- Kaynak:
- Socket.Tasks.cs
Uzak bir konakla bağlantı kurar.
public:
System::Threading::Tasks::ValueTask ConnectAsync(System::Net::EndPoint ^ remoteEP, System::Threading::CancellationToken cancellationToken);
public System.Threading.Tasks.ValueTask ConnectAsync (System.Net.EndPoint remoteEP, System.Threading.CancellationToken cancellationToken);
member this.ConnectAsync : System.Net.EndPoint * System.Threading.CancellationToken -> System.Threading.Tasks.ValueTask
Public Function ConnectAsync (remoteEP As EndPoint, cancellationToken As CancellationToken) As ValueTask
Parametreler
- remoteEP
- EndPoint
Bağlanacak uç nokta.
- cancellationToken
- CancellationToken
Zaman uyumsuz işlemi iptal etmek için kullanılabilecek bir iptal belirteci.
Döndürülenler
Bağlantı kurulduğunda tamamlanan zaman uyumsuz bir görev.
Özel durumlar
remoteEP
Parametre null olamaz.
Dinliyor Socket .
Yuvaya erişmeye çalışılırken bir hata oluştu.
Yerel uç nokta ve remoteEP
parametresi aynı adres ailesi değildir.
Kapatılmış Socket .
Çağrı yığınında daha yüksek bir çağıranın istenen işlem için izni yok.
İptal belirteci iptal edildi. Bu özel durum, döndürülen görevde depolanır.
Açıklamalar
Bu yöntem, görevin içinde depolar ve yöntemin zaman uyumlu karşılık geleninin atabileceği tüm kullanım dışı özel durumları döndürür. Döndürülen görevde bir özel durum depolanırsa, görev beklenirken bu özel durum oluşturulur. gibi ArgumentExceptionkullanım özel durumları yine zaman uyumlu olarak oluşturulur. Depolanan özel durumlar için tarafından oluşan Connect(EndPoint)özel durumlara bakın.
Şunlara uygulanır
ConnectAsync(SocketAsyncEventArgs)
- Kaynak:
- Socket.cs
- Kaynak:
- Socket.cs
- Kaynak:
- Socket.cs
Uzak konakla bağlantı için zaman uyumsuz bir istek başlatır.
public:
bool ConnectAsync(System::Net::Sockets::SocketAsyncEventArgs ^ e);
public bool ConnectAsync (System.Net.Sockets.SocketAsyncEventArgs e);
member this.ConnectAsync : System.Net.Sockets.SocketAsyncEventArgs -> bool
Public Function ConnectAsync (e As SocketAsyncEventArgs) As Boolean
Parametreler
SocketAsyncEventArgs Bu zaman uyumsuz yuva işlemi için kullanılacak nesne.
Döndürülenler
true
G/Ç işlemi bekliyorsa.
Completed parametresindeki e
olay, işlem tamamlandıktan sonra tetiklenir.
false
G/Ç işlemi zaman uyumlu olarak tamamlandıysa. Bu durumda parametredeki Completede
olay tetiklenmez ve e
yöntem çağrısı işlemin sonucunu almak için döndürdükten hemen sonra parametre olarak geçirilen nesne incelenebilir.
Özel durumlar
Bağımsız değişken geçerli değil. Birden çok arabellek belirtilirse, özellik null değilse bu BufferList özel durum oluşur.
e
Parametre null olamaz ve RemoteEndPoint null olamaz.
Socket dinliyor veya parametresinde e
belirtilen nesne kullanılarak SocketAsyncEventArgs bir yuva işlemi zaten devam ediyor.
Yuvaya erişmeye çalışılırken bir hata oluştu.
Yerel uç nokta ve aynı RemoteEndPoint adres ailesi değildir.
Kapatılmış Socket .
Çağrı yığınında daha yüksek bir çağıranın istenen işlem için izni yok.
Açıklamalar
Bağlantı odaklı bir protokol kullanıyorsanız, ConnectAsync yöntemi uzak konakla bağlantı için zaman uyumsuz bir istek başlatır. Bağlantısız bir protokol kullanıyorsanız, ConnectAsync varsayılan uzak ana bilgisayar oluşturur.
Tamamlanma bildirimi almak için EventHandler<SocketAsyncEventArgs> temsilcisini uygulayan bir geri çağırma yöntemi oluşturmanız ve geri çağırmayı SocketAsyncEventArgs.Completed olaya eklemeniz gerekir.
Çağıranın SocketAsyncEventArgs.RemoteEndPoint , bağlanacak uzak konağın özelliğini IPEndPoint ayarlaması gerekir.
Çağıran, yöntemi çağırmadan ConnectAsync önce istenen herhangi bir kullanıcı durumu nesnesine özelliğini ayarlayabilirSocketAsyncEventArgs.UserToken, böylece bilgiler geri çağırma yönteminde alınabilir. Geri çağırma için tek bir nesneden daha fazla bilgi gerekiyorsa, diğer gerekli durum bilgilerini üye olarak tutmak için küçük bir sınıf oluşturulabilir.
UDP gibi bağlantısız bir protokol kullanıyorsanız, veri gönderip almadan önce arama ConnectAsync yapmanız gerekmez. uzak bir konakla iletişim kurmak için ve ReceiveFromAsync kullanabilirsinizSendToAsync. çağrısı ConnectAsyncyaparsanız, belirtilen varsayılan dışında bir adresten gelen tüm veri birimleri atılır. Varsayılan uzak konağı değiştirmek istiyorsanız, istenen uç noktayla yöntemini yeniden çağırın ConnectAsync .
Varsayılan uzak konağı bir yayın adresi olarak ayarlamak istiyorsanız, önce çağrısı SetSocketOption yapıp Yayın'ı olarak true
ayarlamanız gerekir. Bu yapılmazsa yöntemi ConnectAsync bir SocketExceptionoluşturur.
Nesnede System.Net.Sockets.SocketAsyncEventArgs aşağıdaki özellikler ve olaylar gereklidir:
İsteğe bağlı olarak, yöntem başarılı olduktan sonra ConnectAsync yuvaya atomik olarak gönderilecek bir arabellek sağlanabilir. Bu durumda, özelliğin SocketAsyncEventArgs.Buffer gönderilecek verileri içeren arabelleğe ayarlanması ve özelliğin SocketAsyncEventArgs.Count arabellekten gönderilecek veri bayt sayısına ayarlanması gerekir. Bağlantı kurulduktan sonra bu veri arabelleği gönderilir.
Bağlantı odaklı bir protokol kullanıyorsanız ve çağırmadan ConnectAsyncönce arama Bind yapmazsanız, temel alınan hizmet sağlayıcısı en uygun yerel ağ adresini ve bağlantı noktası numarasını atar.
Bağlantısız bir protokol kullanıyorsanız, veya yöntemlerini çağırana SendAsyncReceiveAsync kadar hizmet sağlayıcısı yerel bir ağ IP adresi ve bağlantı noktası numarası atamaz.
yöntemi, ConnectAsync ve SocketAsyncEventArgs.RemoteEndPoint adres ailesi aynı adres ailesi Socket değilse oluştururNotSupportedException.
Not
Bu yöntemi çağırırken bir SocketException alırsanız, belirli bir hata kodunu almak için özelliğini kullanın SocketException.ErrorCode . 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.
Ayrıca bkz.
Şunlara uygulanır
ConnectAsync(EndPoint)
- Kaynak:
- Socket.Tasks.cs
- Kaynak:
- Socket.Tasks.cs
- Kaynak:
- Socket.Tasks.cs
Uzak bir konakla bağlantı kurar.
public:
System::Threading::Tasks::Task ^ ConnectAsync(System::Net::EndPoint ^ remoteEP);
public System.Threading.Tasks.Task ConnectAsync (System.Net.EndPoint remoteEP);
member this.ConnectAsync : System.Net.EndPoint -> System.Threading.Tasks.Task
Public Function ConnectAsync (remoteEP As EndPoint) As Task
Parametreler
- remoteEP
- EndPoint
Bağlanacak uç nokta.
Döndürülenler
Bağlantı kurulduğunda tamamlanan zaman uyumsuz bir görev.
Özel durumlar
remoteEP
Parametre null olamaz.
Dinliyor Socket .
Yuvaya erişmeye çalışılırken bir hata oluştu.
Yerel uç nokta ve remoteEP
parametresi aynı adres ailesi değildir.
Kapatılmış Socket .
Çağrı yığınında daha yüksek bir çağıranın istenen işlem için izni yok.
Açıklamalar
Bu yöntem, görevin içinde depolar ve yöntemin zaman uyumlu karşılık geleninin atabileceği tüm kullanım dışı özel durumları döndürür. Döndürülen görevde bir özel durum depolanırsa, görev beklenirken bu özel durum oluşturulur. gibi ArgumentExceptionkullanım özel durumları yine zaman uyumlu olarak oluşturulur. Depolanan özel durumlar için tarafından oluşan Connect(EndPoint)özel durumlara bakın.