Aracılığıyla paylaş


Socket.ConnectAsync Yöntem

Tanım

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.

e
SocketAsyncEventArgs

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.

Ç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 trueayarlamanı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.

port değerinden küçüktür MinPort.

-veya-

port değerinden büyüktür MaxPort.

Yuva veya InterNetworkV6 ailelerinde InterNetwork değil.

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

Ç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.

port değerinden küçüktür MinPort.

-veya-

port değerinden büyüktür MaxPort.

Yuva veya InterNetworkV6 ailelerinde InterNetwork değil.

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

Ç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.

port değerinden küçüktür MinPort.

-veya-

port değerinden büyüktür MaxPort.

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

Ç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.

port değerinden küçüktür MinPort.

-veya-

port değerinden büyüktür MaxPort.

Yuva ya InterNetworkV6 da ailelerde InterNetwork değil.

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

Ç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.

port değerinden küçüktür MinPort.

-veya-

port değerinden büyüktür MaxPort.

Yuva ya InterNetworkV6 da ailelerde InterNetwork değil.

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

Ç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.

port değerinden küçüktür MinPort.

-veya-

port değerinden büyüktür MaxPort.

Yuva ya InterNetworkV6 da ailelerde InterNetwork değil.

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

Ç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.

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

Yerel uç nokta ve remoteEP parametresi aynı adres ailesi değildir.

Ç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

e
SocketAsyncEventArgs

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.

Ç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 trueayarlamanı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.

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

Yerel uç nokta ve remoteEP parametresi aynı adres ailesi değildir.

Ç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.

Şunlara uygulanır