Socket.ConnectAsync Metode
Definisi
Penting
Beberapa informasi terkait produk prarilis yang dapat diubah secara signifikan sebelum dirilis. Microsoft tidak memberikan jaminan, tersirat maupun tersurat, sehubungan dengan informasi yang diberikan di sini.
Memulai permintaan asinkron untuk koneksi ke host jarak jauh.
Overload
ConnectAsync(SocketType, ProtocolType, SocketAsyncEventArgs) |
Memulai permintaan asinkron untuk koneksi ke host jarak jauh. |
ConnectAsync(IPAddress[], Int32, CancellationToken) |
Membuat koneksi ke host jarak jauh. |
ConnectAsync(String, Int32, CancellationToken) |
Membuat koneksi ke host jarak jauh. |
ConnectAsync(IPAddress, Int32, CancellationToken) |
Membuat koneksi ke host jarak jauh. |
ConnectAsync(String, Int32) |
Membuat koneksi ke host jarak jauh. |
ConnectAsync(IPAddress[], Int32) |
Membuat koneksi ke host jarak jauh. |
ConnectAsync(IPAddress, Int32) |
Membuat koneksi ke host jarak jauh. |
ConnectAsync(EndPoint, CancellationToken) |
Membuat koneksi ke host jarak jauh. |
ConnectAsync(SocketAsyncEventArgs) |
Memulai permintaan asinkron untuk koneksi ke host jarak jauh. |
ConnectAsync(EndPoint) |
Membuat koneksi ke host jarak jauh. |
ConnectAsync(SocketType, ProtocolType, SocketAsyncEventArgs)
- Sumber:
- Socket.cs
- Sumber:
- Socket.cs
- Sumber:
- Socket.cs
Memulai permintaan asinkron untuk koneksi ke host jarak jauh.
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
Parameter
- socketType
- SocketType
Salah SocketType satu nilai.
- protocolType
- ProtocolType
Salah ProtocolType satu nilai.
Objek SocketAsyncEventArgs yang digunakan untuk operasi soket asinkron ini.
Mengembalikan
true
jika operasi I/O tertunda. Peristiwa Completed pada e
parameter akan dinaikkan setelah menyelesaikan operasi.
false
jika operasi I/O selesai secara sinkron. Dalam hal ini, Peristiwa Completed pada e
parameter tidak akan dinaikkan dan e
objek yang diteruskan sebagai parameter dapat diperiksa segera setelah panggilan metode kembali untuk mengambil hasil operasi.
Pengecualian
Argumen tidak valid. Pengecualian ini terjadi jika beberapa buffer ditentukan, BufferList properti tidak null.
Parameter e
tidak boleh null dan RemoteEndPoint tidak boleh null.
Socket sedang mendengarkan atau operasi soket sudah berlangsung menggunakan SocketAsyncEventArgs objek yang ditentukan dalam e
parameter .
Terjadi kesalahan saat mencoba mengakses soket.
Titik akhir lokal dan RemoteEndPoint bukan keluarga alamat yang sama.
Sudah Socket ditutup.
Penelepon yang lebih tinggi dalam tumpukan panggilan tidak memiliki izin untuk operasi yang diminta.
Keterangan
Jika Anda menggunakan protokol berorientasi koneksi, metode M:System.Net.Sockets.Socket.ConnectAsync(System.Net.Sockets.SocketType,System.Net.Sockets.ProtocolType,System.Net.Sockets.Sockets.SocketAsyncEventArgs) memulai permintaan asinkron untuk koneksi ke host jarak jauh. Jika Anda menggunakan protokol tanpa koneksi, ConnectAsync buat host jarak jauh default yang ditentukan oleh socketType
parameter dan protocolType
.
Untuk diberi tahu tentang penyelesaian, Anda harus membuat metode panggilan balik yang mengimplementasikan delegasi EventHandler<SocketAsyncEventArgs> dan melampirkan panggilan balik ke SocketAsyncEventArgs.Completed acara.
Pemanggil harus mengatur SocketAsyncEventArgs.RemoteEndPoint properti ke IPEndPoint host jarak jauh untuk disambungkan.
Pemanggil dapat mengatur SocketAsyncEventArgs.UserToken properti ke objek status pengguna apa pun yang diinginkan sebelum memanggil ConnectAsync metode , sehingga informasi akan dapat diambil dalam metode panggilan balik. Jika panggilan balik membutuhkan lebih banyak informasi daripada satu objek, kelas kecil dapat dibuat untuk menyimpan informasi status lain yang diperlukan sebagai anggota.
Jika Anda menggunakan protokol tanpa koneksi seperti UDP, Anda tidak perlu menelepon ConnectAsync sebelum mengirim dan menerima data. Anda dapat menggunakan SendToAsync dan ReceiveFromAsync untuk berkomunikasi dengan host jarak jauh. Jika Anda memanggil ConnectAsync, datagram apa pun yang berasal dari alamat selain default yang ditentukan akan dibuang. Jika Anda ingin mengubah host jarak jauh default, panggil ConnectAsync metode lagi dengan titik akhir yang diinginkan.
Jika Anda ingin mengatur host jarak jauh default ke alamat siaran, Anda harus terlebih dahulu memanggil SetSocketOption dan mengatur Siaran ke true
. Jika ini tidak dilakukan, ConnectAsync metode akan melempar .SocketException
Properti dan peristiwa berikut pada System.Net.Sockets.SocketAsyncEventArgs objek diperlukan:
Secara opsional, buffer dapat disediakan yang secara atomik akan dikirim pada soket setelah ConnectAsync metode berhasil. Dalam hal ini, SocketAsyncEventArgs.Buffer properti perlu diatur ke buffer yang berisi data untuk dikirim dan SocketAsyncEventArgs.Count properti perlu diatur ke jumlah byte data yang akan dikirim dari buffer. Setelah koneksi dibuat, buffer data ini dikirim.
Jika Anda menggunakan protokol berorientasi koneksi dan tidak menelepon Bind sebelum memanggil ConnectAsync, penyedia layanan yang mendasar akan menetapkan alamat jaringan lokal dan nomor port yang paling sesuai.
Jika Anda menggunakan protokol tanpa koneksi, penyedia layanan tidak akan menetapkan alamat IP jaringan lokal dan nomor port hingga Anda memanggil SendAsync metode atau ReceiveAsync .
Metode ini ConnectAsync melemparkan NotSupportedException jika keluarga Socket alamat dan SocketAsyncEventArgs.RemoteEndPoint bukan keluarga alamat yang sama.
Catatan
Jika Anda menerima SocketException saat memanggil metode ini, gunakan SocketException.ErrorCode properti untuk mendapatkan kode kesalahan tertentu. Setelah Anda mendapatkan kode ini, lihat dokumentasi kode kesalahan API Windows Sockets versi 2 untuk deskripsi terperinci tentang kesalahan tersebut.
Berlaku untuk
ConnectAsync(IPAddress[], Int32, CancellationToken)
- Sumber:
- Socket.Tasks.cs
- Sumber:
- Socket.Tasks.cs
- Sumber:
- Socket.Tasks.cs
Membuat koneksi ke host jarak jauh.
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
Parameter
- addresses
- IPAddress[]
Daftar IPAddresses untuk host jarak jauh yang akan digunakan untuk mencoba menyambungkan ke host jarak jauh.
- port
- Int32
Port pada host jarak jauh untuk disambungkan.
- cancellationToken
- CancellationToken
Token pembatalan yang dapat digunakan untuk membatalkan operasi asinkron.
Mengembalikan
Tugas asinkron yang selesai saat koneksi dibuat.
Pengecualian
Parameter addresses
tidak boleh null.
Parameter addresses
tidak boleh kosong array.
Mendengarkan Socket .
Soket tidak ada di InterNetwork dalam atau InterNetworkV6 keluarga.
Terjadi kesalahan saat mencoba mengakses soket.
Sudah Socket ditutup.
Penelepon yang lebih tinggi dalam tumpukan panggilan tidak memiliki izin untuk operasi yang diminta.
Token pembatalan dibatalkan. Pengecualian ini disimpan ke dalam tugas yang dikembalikan.
Keterangan
Metode ini disimpan dalam tugas yang mengembalikan semua pengecualian non-penggunaan yang dapat dilemparkan oleh rekan sinkron metode. Jika pengecualian disimpan ke dalam tugas yang dikembalikan, pengecualian tersebut akan dilemparkan saat tugas ditunggu. Pengecualian penggunaan, seperti ArgumentException, masih dilemparkan secara sinkron. Untuk pengecualian yang disimpan, lihat pengecualian yang dilemparkan oleh Connect(IPAddress[], Int32).
Berlaku untuk
ConnectAsync(String, Int32, CancellationToken)
- Sumber:
- Socket.Tasks.cs
- Sumber:
- Socket.Tasks.cs
- Sumber:
- Socket.Tasks.cs
Membuat koneksi ke host jarak jauh.
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
Parameter
- host
- String
Nama host host jarak jauh untuk disambungkan.
- port
- Int32
Port pada host jarak jauh untuk disambungkan.
- cancellationToken
- CancellationToken
Token pembatalan yang dapat digunakan untuk membatalkan operasi asinkron.
Mengembalikan
Tugas asinkron yang selesai ketika koneksi dibuat.
Pengecualian
Parameter host
tidak boleh null.
Mendengarkan Socket .
Soket tidak ada di InterNetwork dalam atau InterNetworkV6 keluarga.
Terjadi kesalahan saat mencoba mengakses soket.
Sudah Socket ditutup.
Penelepon yang lebih tinggi dalam tumpukan panggilan tidak memiliki izin untuk operasi yang diminta.
Token pembatalan dibatalkan. Pengecualian ini disimpan ke dalam tugas yang dikembalikan.
Keterangan
Metode ini disimpan dalam tugas yang mengembalikan semua pengecualian non-penggunaan yang dapat dilemparkan oleh rekan sinkron metode. Jika pengecualian disimpan ke dalam tugas yang dikembalikan, pengecualian tersebut akan dilemparkan saat tugas ditunggu. Pengecualian penggunaan, seperti ArgumentException, masih dilemparkan secara sinkron. Untuk pengecualian yang disimpan, lihat pengecualian yang dilemparkan oleh Connect(String, Int32).
Berlaku untuk
ConnectAsync(IPAddress, Int32, CancellationToken)
- Sumber:
- Socket.Tasks.cs
- Sumber:
- Socket.Tasks.cs
- Sumber:
- Socket.Tasks.cs
Membuat koneksi ke host jarak jauh.
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
Parameter
- address
- IPAddress
IPAddress host jarak jauh untuk disambungkan.
- port
- Int32
Port pada host jarak jauh untuk disambungkan.
- cancellationToken
- CancellationToken
Token pembatalan yang dapat digunakan untuk membatalkan operasi asinkron.
Mengembalikan
Tugas asinkron yang selesai ketika koneksi dibuat.
Pengecualian
Parameter address
tidak boleh null.
Ini Socket mendengarkan.
Terjadi kesalahan saat mencoba mengakses soket.
Socket Telah ditutup.
Penelepon yang lebih tinggi di tumpukan panggilan tidak memiliki izin untuk operasi yang diminta.
Token pembatalan dibatalkan. Pengecualian ini disimpan ke dalam tugas yang dikembalikan.
Keterangan
Metode ini disimpan dalam tugas yang menampilkan semua pengecualian non-penggunaan yang dapat dilemparkan oleh rekan sinkron metode. Jika pengecualian disimpan ke dalam tugas yang dikembalikan, pengecualian tersebut akan dilemparkan saat tugas ditunggu. Pengecualian penggunaan, seperti ArgumentException, masih dilemparkan secara sinkron. Untuk pengecualian yang disimpan, lihat pengecualian yang dilemparkan oleh Connect(IPAddress, Int32).
Berlaku untuk
ConnectAsync(String, Int32)
- Sumber:
- Socket.Tasks.cs
- Sumber:
- Socket.Tasks.cs
- Sumber:
- Socket.Tasks.cs
Membuat koneksi ke host jarak jauh.
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
Parameter
- host
- String
Nama host host jarak jauh untuk disambungkan.
- port
- Int32
Port pada host jarak jauh untuk disambungkan.
Mengembalikan
Tugas asinkron yang selesai ketika koneksi dibuat.
Pengecualian
Parameter host
tidak boleh null.
Ini Socket mendengarkan.
Soket tidak ada dalam InterNetwork keluarga atau InterNetworkV6 .
Terjadi kesalahan saat mencoba mengakses soket.
Socket Telah ditutup.
Penelepon yang lebih tinggi di tumpukan panggilan tidak memiliki izin untuk operasi yang diminta.
Keterangan
Metode ini disimpan dalam tugas yang menampilkan semua pengecualian non-penggunaan yang dapat dilemparkan oleh rekan sinkron metode. Jika pengecualian disimpan ke dalam tugas yang dikembalikan, pengecualian tersebut akan dilemparkan saat tugas ditunggu. Pengecualian penggunaan, seperti ArgumentException, masih dilemparkan secara sinkron. Untuk pengecualian yang disimpan, lihat pengecualian yang dilemparkan oleh Connect(String, Int32).
Berlaku untuk
ConnectAsync(IPAddress[], Int32)
- Sumber:
- Socket.Tasks.cs
- Sumber:
- Socket.Tasks.cs
- Sumber:
- Socket.Tasks.cs
Membuat koneksi ke host jarak jauh.
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
Parameter
- addresses
- IPAddress[]
Daftar IPAddresses untuk host jarak jauh yang akan digunakan untuk mencoba menyambungkan ke host jarak jauh.
- port
- Int32
Port pada host jarak jauh untuk disambungkan.
Mengembalikan
Tugas asinkron yang selesai ketika koneksi dibuat.
Pengecualian
Parameter addresses
tidak boleh null.
Parameter addresses
tidak boleh berupa array kosong.
Ini Socket mendengarkan.
Soket tidak ada dalam InterNetwork keluarga atau InterNetworkV6 .
Terjadi kesalahan saat mencoba mengakses soket.
Socket Telah ditutup.
Penelepon yang lebih tinggi di tumpukan panggilan tidak memiliki izin untuk operasi yang diminta.
Keterangan
Metode ini disimpan dalam tugas yang menampilkan semua pengecualian non-penggunaan yang dapat dilemparkan oleh rekan sinkron metode. Jika pengecualian disimpan ke dalam tugas yang dikembalikan, pengecualian tersebut akan dilemparkan saat tugas ditunggu. Pengecualian penggunaan, seperti ArgumentException, masih dilemparkan secara sinkron. Untuk pengecualian yang disimpan, lihat pengecualian yang dilemparkan oleh Connect(IPAddress[], Int32).
Berlaku untuk
ConnectAsync(IPAddress, Int32)
- Sumber:
- Socket.Tasks.cs
- Sumber:
- Socket.Tasks.cs
- Sumber:
- Socket.Tasks.cs
Membuat koneksi ke host jarak jauh.
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
Parameter
- address
- IPAddress
IPAddress host jarak jauh untuk disambungkan.
- port
- Int32
Port pada host jarak jauh untuk disambungkan.
Mengembalikan
Tugas asinkron yang selesai ketika koneksi dibuat.
Pengecualian
Parameter address
tidak boleh null.
Ini Socket mendengarkan.
Soket tidak ada dalam InterNetwork keluarga atau InterNetworkV6 .
Terjadi kesalahan saat mencoba mengakses soket.
Socket Telah ditutup.
Penelepon yang lebih tinggi di tumpukan panggilan tidak memiliki izin untuk operasi yang diminta.
Keterangan
Metode ini disimpan dalam tugas yang menampilkan semua pengecualian non-penggunaan yang dapat dilemparkan oleh rekan sinkron metode. Jika pengecualian disimpan ke dalam tugas yang dikembalikan, pengecualian tersebut akan dilemparkan saat tugas ditunggu. Pengecualian penggunaan, seperti ArgumentException, masih dilemparkan secara sinkron. Untuk pengecualian yang disimpan, lihat pengecualian yang dilemparkan oleh Connect(IPAddress, Int32).
Berlaku untuk
ConnectAsync(EndPoint, CancellationToken)
- Sumber:
- Socket.Tasks.cs
- Sumber:
- Socket.Tasks.cs
- Sumber:
- Socket.Tasks.cs
Membuat koneksi ke host jarak jauh.
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
Parameter
- remoteEP
- EndPoint
Titik akhir untuk terhubung.
- cancellationToken
- CancellationToken
Token pembatalan yang dapat digunakan untuk membatalkan operasi asinkron.
Mengembalikan
Tugas asinkron yang selesai ketika koneksi dibuat.
Pengecualian
Parameter remoteEP
tidak boleh null.
Ini Socket mendengarkan.
Terjadi kesalahan saat mencoba mengakses soket.
Titik akhir lokal dan remoteEP
parameter bukan keluarga alamat yang sama.
Socket Telah ditutup.
Penelepon yang lebih tinggi di tumpukan panggilan tidak memiliki izin untuk operasi yang diminta.
Token pembatalan dibatalkan. Pengecualian ini disimpan ke dalam tugas yang dikembalikan.
Keterangan
Metode ini disimpan dalam tugas yang menampilkan semua pengecualian non-penggunaan yang dapat dilemparkan oleh rekan sinkron metode. Jika pengecualian disimpan ke dalam tugas yang dikembalikan, pengecualian tersebut akan dilemparkan saat tugas ditunggu. Pengecualian penggunaan, seperti ArgumentException, masih dilemparkan secara sinkron. Untuk pengecualian yang disimpan, lihat pengecualian yang dilemparkan oleh Connect(EndPoint).
Berlaku untuk
ConnectAsync(SocketAsyncEventArgs)
- Sumber:
- Socket.cs
- Sumber:
- Socket.cs
- Sumber:
- Socket.cs
Memulai permintaan asinkron untuk koneksi ke host jarak jauh.
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
Parameter
Objek SocketAsyncEventArgs yang digunakan untuk operasi soket asinkron ini.
Mengembalikan
true
jika operasi I/O tertunda. Peristiwa Completed pada e
parameter akan dinaikkan setelah menyelesaikan operasi.
false
jika operasi I/O selesai secara sinkron. Dalam hal ini, Peristiwa Completed pada e
parameter tidak akan dinaikkan dan e
objek yang diteruskan sebagai parameter dapat diperiksa segera setelah panggilan metode kembali untuk mengambil hasil operasi.
Pengecualian
Argumen tidak valid. Pengecualian ini terjadi jika beberapa buffer ditentukan, BufferList properti tidak null.
Parameter e
tidak boleh null dan RemoteEndPoint tidak boleh null.
Socket sedang mendengarkan atau operasi soket sudah berlangsung menggunakan SocketAsyncEventArgs objek yang ditentukan dalam e
parameter .
Terjadi kesalahan saat mencoba mengakses soket.
Titik akhir lokal dan RemoteEndPoint bukan keluarga alamat yang sama.
Socket Telah ditutup.
Penelepon yang lebih tinggi di tumpukan panggilan tidak memiliki izin untuk operasi yang diminta.
Keterangan
Jika Anda menggunakan protokol berorientasi koneksi, ConnectAsync metode memulai permintaan asinkron untuk koneksi ke host jarak jauh. Jika Anda menggunakan protokol tanpa koneksi, ConnectAsync buat host jarak jauh default.
Untuk diberi tahu tentang penyelesaian, Anda harus membuat metode panggilan balik yang mengimplementasikan delegasi EventHandler<SocketAsyncEventArgs> dan melampirkan panggilan balik ke SocketAsyncEventArgs.Completed peristiwa.
Penelepon harus mengatur SocketAsyncEventArgs.RemoteEndPoint properti ke IPEndPoint host jarak jauh untuk disambungkan.
Penelepon dapat mengatur SocketAsyncEventArgs.UserToken properti ke objek status pengguna apa pun yang diinginkan sebelum memanggil ConnectAsync metode , sehingga informasi akan dapat diambil dalam metode panggilan balik. Jika panggilan balik membutuhkan lebih banyak informasi daripada satu objek, kelas kecil dapat dibuat untuk menyimpan informasi status lain yang diperlukan sebagai anggota.
Jika Anda menggunakan protokol tanpa koneksi seperti UDP, Anda tidak perlu memanggil ConnectAsync sebelum mengirim dan menerima data. Anda dapat menggunakan SendToAsync dan ReceiveFromAsync untuk berkomunikasi dengan host jarak jauh. Jika Anda memanggil ConnectAsync, datagram apa pun yang berasal dari alamat selain default yang ditentukan akan dibuang. Jika Anda ingin mengubah host jarak jauh default, panggil ConnectAsync metode lagi dengan titik akhir yang diinginkan.
Jika Anda ingin mengatur host jarak jauh default ke alamat siaran, Anda harus terlebih dahulu memanggil SetSocketOption dan mengatur Siaran ke true
. Jika ini tidak dilakukan, ConnectAsync metode akan melempar SocketException.
Properti dan peristiwa berikut pada System.Net.Sockets.SocketAsyncEventArgs objek diperlukan:
Secara opsional, buffer dapat disediakan yang secara atomik akan dikirim pada soket setelah ConnectAsync metode berhasil. Dalam hal ini, SocketAsyncEventArgs.Buffer properti perlu diatur ke buffer yang berisi data yang akan dikirim dan SocketAsyncEventArgs.Count properti perlu diatur ke jumlah byte data yang akan dikirim dari buffer. Setelah koneksi dibuat, buffer data ini dikirim.
Jika Anda menggunakan protokol berorientasi koneksi dan tidak memanggil Bind sebelum memanggil ConnectAsync, penyedia layanan yang mendasar akan menetapkan alamat jaringan lokal dan nomor port yang paling tepat.
Jika Anda menggunakan protokol tanpa koneksi, penyedia layanan tidak akan menetapkan alamat IP jaringan lokal dan nomor port hingga Anda memanggil SendAsync metode atau ReceiveAsync .
Metode ini ConnectAsync melemparkan NotSupportedException jika keluarga Socket alamat dan SocketAsyncEventArgs.RemoteEndPoint bukan keluarga alamat yang sama.
Catatan
Jika Anda menerima SocketException saat memanggil metode ini, gunakan SocketException.ErrorCode properti untuk mendapatkan kode kesalahan tertentu. Setelah Anda mendapatkan kode ini, lihat dokumentasi kode kesalahan API Windows Sockets versi 2 untuk deskripsi terperinci tentang kesalahan tersebut.
Lihat juga
Berlaku untuk
ConnectAsync(EndPoint)
- Sumber:
- Socket.Tasks.cs
- Sumber:
- Socket.Tasks.cs
- Sumber:
- Socket.Tasks.cs
Membuat koneksi ke host jarak jauh.
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
Parameter
- remoteEP
- EndPoint
Titik akhir untuk terhubung.
Mengembalikan
Tugas asinkron yang selesai ketika koneksi dibuat.
Pengecualian
Parameter remoteEP
tidak boleh null.
Ini Socket mendengarkan.
Terjadi kesalahan saat mencoba mengakses soket.
Titik akhir lokal dan remoteEP
parameter bukan keluarga alamat yang sama.
Socket Telah ditutup.
Penelepon yang lebih tinggi di tumpukan panggilan tidak memiliki izin untuk operasi yang diminta.
Keterangan
Metode ini disimpan dalam tugas yang menampilkan semua pengecualian non-penggunaan yang dapat dilemparkan oleh rekan sinkron metode. Jika pengecualian disimpan ke dalam tugas yang dikembalikan, pengecualian tersebut akan dilemparkan saat tugas ditunggu. Pengecualian penggunaan, seperti ArgumentException, masih dilemparkan secara sinkron. Untuk pengecualian yang disimpan, lihat pengecualian yang dilemparkan oleh Connect(EndPoint).