Aracılığıyla paylaş


Socket.ConnectAsync Yöntem

Tanım

Uzak bir ana bilgisayara bağlantı için zaman uyumsuz bir istek başlatır.

Aşırı Yüklemeler

Name Description
ConnectAsync(SocketType, ProtocolType, SocketAsyncEventArgs, ConnectAlgorithm)
ConnectAsync(String, Int32, CancellationToken)

Uzak bir konakla bağlantı kurar.

ConnectAsync(SocketType, ProtocolType, SocketAsyncEventArgs)

Uzak bir ana bilgisayara bağlantı için zaman uyumsuz bir istek başlatır.

ConnectAsync(IPAddress[], 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 bir 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, ConnectAlgorithm)

public:
 static bool ConnectAsync(System::Net::Sockets::SocketType socketType, System::Net::Sockets::ProtocolType protocolType, System::Net::Sockets::SocketAsyncEventArgs ^ e, System::Net::Sockets::ConnectAlgorithm connectAlgorithm);
public static bool ConnectAsync(System.Net.Sockets.SocketType socketType, System.Net.Sockets.ProtocolType protocolType, System.Net.Sockets.SocketAsyncEventArgs e, System.Net.Sockets.ConnectAlgorithm connectAlgorithm);
static member ConnectAsync : System.Net.Sockets.SocketType * System.Net.Sockets.ProtocolType * System.Net.Sockets.SocketAsyncEventArgs * System.Net.Sockets.ConnectAlgorithm -> bool
Public Shared Function ConnectAsync (socketType As SocketType, protocolType As ProtocolType, e As SocketAsyncEventArgs, connectAlgorithm As ConnectAlgorithm) As Boolean

Parametreler

socketType
SocketType
protocolType
ProtocolType
connectAlgorithm
ConnectAlgorithm

Döndürülenler

Şunlara uygulanır

ConnectAsync(String, Int32, CancellationToken)

Kaynak:
Socket.Tasks.cs
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 MinPortküçüktür.

-veya-

port değerinden MaxPortbüyüktür.

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 oluşturabileceği tüm kullanım dışı özel durumları döndürdüğü görevde depolar. Döndürülen görevde bir özel durum depolanırsa, görev beklendiğinde bu özel durum oluşturulur. ArgumentExceptiongibi kullanım özel durumları hâlâ eşzamanlı olarak fırlatılır. Depolanan özel durumlar için tarafından Connect(String, Int32)oluşan özel durumlara bakın.

Şunlara uygulanır

ConnectAsync(SocketType, ProtocolType, SocketAsyncEventArgs)

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

Uzak bir 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, yöntem çağrısı işlemin sonucunu almak için döndürdü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 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, 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 ve ConnectAsyncprotocolType 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 için tek bir nesneden daha fazla bilgi gerekiyorsa, gerekli diğer 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öndermeden ve 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 Yayın'ı çağırıp SetSocketOption 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ğırmadan ConnectAsyncönce aramıyorsanı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.

ConnectAsync yöntemi, ve'nin SocketSocketAsyncEventArgs.RemoteEndPoint adres ailesi aynı adres ailesi değilse oluştururNotSupportedException.

Uyarı

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
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 Parametresi boş dizi olamaz.

port değerinden MinPortküçüktür.

-veya-

port değerinden MaxPortbüyüktür.

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 oluşturabileceği tüm kullanım dışı özel durumları döndürdüğü görevde depolar. Döndürülen görevde bir özel durum depolanırsa, görev beklendiğinde bu özel durum oluşturulur. ArgumentExceptiongibi kullanım özel durumları hâlâ eşzamanlı olarak fırlatılır. Depolanan özel durumlar için tarafından Connect(IPAddress[], Int32)oluşan özel durumlara bakın.

Şunlara uygulanır

ConnectAsync(IPAddress, Int32, CancellationToken)

Kaynak:
Socket.Tasks.cs
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'i.

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

address Parametre null olamaz.

port değerinden MinPortküçüktür.

-veya-

port değerinden MaxPortbüyüktür.

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 oluşturabileceği tüm kullanım dışı özel durumları döndürdüğü görevde depolar. Döndürülen görevde bir özel durum depolanırsa, görev beklendiğinde bu özel durum oluşturulur. ArgumentExceptiongibi kullanım özel durumları hâlâ eşzamanlı olarak fırlatılır. Depolanan özel durumlar için tarafından Connect(IPAddress, Int32)oluşan özel durumlara bakın.

Şunlara uygulanır

ConnectAsync(String, Int32)

Kaynak:
Socket.Tasks.cs
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

Bağlanacak uzak konak üzerindeki 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 MinPortküçüktür.

-veya-

port değerinden MaxPortbüyüktür.

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.

Açıklamalar

Bu yöntem, yöntemin zaman uyumlu karşılık geleninin oluşturabileceği tüm kullanım dışı özel durumları döndürdüğü görevde depolar. Döndürülen görevde bir özel durum depolanırsa, görev beklendiğinde bu özel durum oluşturulur. ArgumentExceptiongibi kullanım özel durumları hâlâ eşzamanlı olarak fırlatılır. Depolanan özel durumlar için tarafından Connect(String, Int32)oluşan özel durumlara bakın.

Şunlara uygulanır

ConnectAsync(IPAddress[], Int32)

Kaynak:
Socket.Tasks.cs
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ğlanmayı denerken kullanılacak uzak ana bilgisayar için IPAddresses listesi.

port
Int32

Bağlanacak uzak konak üzerindeki bağlantı noktası.

Döndürülenler

Bağlantı kurulduğunda tamamlanan zaman uyumsuz bir görev.

Özel durumlar

addresses Parametre null olamaz.

addresses Parametresi boş dizi olamaz.

port değerinden MinPortküçüktür.

-veya-

port değerinden MaxPortbüyüktür.

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.

Açıklamalar

Bu yöntem, yöntemin zaman uyumlu karşılık geleninin oluşturabileceği tüm kullanım dışı özel durumları döndürdüğü görevde depolar. Döndürülen görevde bir özel durum depolanırsa, görev beklendiğinde bu özel durum oluşturulur. ArgumentExceptiongibi kullanım özel durumları hâlâ eşzamanlı olarak fırlatılır. Depolanan özel durumlar için tarafından Connect(IPAddress[], Int32)oluşan özel durumlara bakın.

Şunlara uygulanır

ConnectAsync(IPAddress, Int32)

Kaynak:
Socket.Tasks.cs
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'i.

port
Int32

Bağlanacak uzak konak üzerindeki 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 MinPortküçüktür.

-veya-

port değerinden MaxPortbüyüktür.

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.

Açıklamalar

Bu yöntem, yöntemin zaman uyumlu karşılık geleninin oluşturabileceği tüm kullanım dışı özel durumları döndürdüğü görevde depolar. Döndürülen görevde bir özel durum depolanırsa, görev beklendiğinde bu özel durum oluşturulur. ArgumentExceptiongibi kullanım özel durumları hâlâ eşzamanlı olarak fırlatılır. Depolanan özel durumlar için tarafından Connect(IPAddress, Int32)oluşan özel durumlara bakın.

Şunlara uygulanır

ConnectAsync(EndPoint, CancellationToken)

Kaynak:
Socket.Tasks.cs
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, yöntemin zaman uyumlu karşılık geleninin oluşturabileceği tüm kullanım dışı özel durumları döndürdüğü görevde depolar. Döndürülen görevde bir özel durum depolanırsa, görev beklendiğinde bu özel durum oluşturulur. ArgumentExceptiongibi kullanım özel durumları hâlâ eşzamanlı olarak fırlatılır. Depolanan özel durumlar için tarafından Connect(EndPoint)oluşan özel durumlara bakın.

Şunlara uygulanır

ConnectAsync(SocketAsyncEventArgs)

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

Uzak bir ana bilgisayara 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, Completed parametredeki e olay tetiklenmez ve e parametre olarak geçirilen nesne, yöntem çağrısı işlemin sonucunu almak için döndürdü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 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 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 için tek bir nesneden daha fazla bilgi gerekiyorsa, gerekli diğer 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öndermeden ve 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 Yayın'ı çağırıp SetSocketOption 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ğırmadan ConnectAsyncönce aramıyorsanı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.

ConnectAsync yöntemi, ve'nin SocketSocketAsyncEventArgs.RemoteEndPoint adres ailesi aynı adres ailesi değilse oluştururNotSupportedException.

Uyarı

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
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, yöntemin zaman uyumlu karşılık geleninin oluşturabileceği tüm kullanım dışı özel durumları döndürdüğü görevde depolar. Döndürülen görevde bir özel durum depolanırsa, görev beklendiğinde bu özel durum oluşturulur. ArgumentExceptiongibi kullanım özel durumları hâlâ eşzamanlı olarak fırlatılır. Depolanan özel durumlar için tarafından Connect(EndPoint)oluşan özel durumlara bakın.

Şunlara uygulanır