Share via


Socket.BeginAccept Metode

Definisi

Memulai operasi asinkron untuk menerima upaya koneksi masuk.

Overload

BeginAccept(AsyncCallback, Object)

Memulai operasi asinkron untuk menerima upaya koneksi masuk.

BeginAccept(Int32, AsyncCallback, Object)

Memulai operasi asinkron untuk menerima upaya koneksi masuk dan menerima blok data pertama yang dikirim oleh aplikasi klien.

BeginAccept(Socket, Int32, AsyncCallback, Object)

Memulai operasi asinkron untuk menerima upaya koneksi masuk dari soket tertentu dan menerima blok data pertama yang dikirim oleh aplikasi klien.

BeginAccept(AsyncCallback, Object)

Sumber:
Socket.cs
Sumber:
Socket.cs
Sumber:
Socket.cs

Memulai operasi asinkron untuk menerima upaya koneksi masuk.

public:
 IAsyncResult ^ BeginAccept(AsyncCallback ^ callback, System::Object ^ state);
public IAsyncResult BeginAccept (AsyncCallback? callback, object? state);
public IAsyncResult BeginAccept (AsyncCallback callback, object state);
member this.BeginAccept : AsyncCallback * obj -> IAsyncResult
Public Function BeginAccept (callback As AsyncCallback, state As Object) As IAsyncResult

Parameter

callback
AsyncCallback

Delegasi AsyncCallback .

state
Object

Objek yang berisi informasi status untuk permintaan ini.

Mengembalikan

Yang IAsyncResult mereferensikan pembuatan asinkron Socket .

Pengecualian

Objek Socket telah ditutup.

Soket yang menerima tidak mendengarkan koneksi. Anda harus menelepon Bind(EndPoint) dan Listen(Int32) sebelum memanggil BeginAccept(AsyncCallback, Object).

-atau-

Soket yang diterima terikat.

receiveSize kurang dari 0.

.NET Framework dan .NET 5 dan yang lebih lama saja: Terjadi kesalahan saat mencoba mengakses soket.

Keterangan

Penting

Ini adalah API kompatibilitas. Kami tidak merekomendasikan penggunaan metode APM (Begin* dan End*) untuk pengembangan baru. Sebagai gantinya Task, gunakan setara berbasis.

Protokol berorientasi koneksi dapat menggunakan BeginAccept metode untuk mulai menerima upaya koneksi masuk. Sebelum memanggil BeginAccept metode , Anda harus memanggil Listen metode untuk mendengarkan dan mengantre permintaan koneksi masuk.

Anda dapat meneruskan panggilan balik yang diterapkan AsyncCallback untuk BeginAccept mendapatkan pemberitahuan tentang penyelesaian operasi terima. Perhatikan bahwa jika tumpukan jaringan yang mendasar menyelesaikan operasi secara sinkron, panggilan balik mungkin dijalankan sebaris, selama panggilan ke BeginAccept. Dalam hal ini, CompletedSynchronously properti pada yang dikembalikan IAsyncResult akan diatur ke true untuk menunjukkan bahwa metode selesai secara sinkron. AsyncState Gunakan properti dari IAsyncResult untuk mendapatkan objek status yang diteruskan ke BeginAccept metode .

Operasi BeginAccept harus diselesaikan dengan memanggil EndAccept metode . Biasanya, metode ini dipanggil oleh delegasi yang disediakan AsyncCallback . EndAccept akan memblokir utas panggilan hingga operasi selesai.

Untuk membatalkan panggilan tertunda ke BeginAccept metode , tutup Socket. Ketika metode dipanggil Close saat operasi asinkron sedang berlangsung, panggilan balik yang diberikan ke BeginAccept metode dipanggil. Panggilan berikutnya ke EndAccept metode akan melempar ObjectDisposedException (sebelum .NET 7) atau SocketException (pada .NET 7+) untuk menunjukkan bahwa operasi telah dibatalkan.

Catatan

Anda dapat menggunakan RemoteEndPoint properti yang dikembalikan Socket untuk mengidentifikasi alamat jaringan host jarak jauh dan nomor port.

Catatan

Jika Anda menerima SocketException, gunakan SocketException.ErrorCode properti untuk mendapatkan kode kesalahan tertentu.

Catatan

Anggota ini mengeluarkan informasi pelacakan saat Anda mengaktifkan pelacakan jaringan di aplikasi Anda. Untuk informasi selengkapnya, lihat Pelacakan Jaringan di .NET Framework.

Catatan

Konteks eksekusi (konteks keamanan, pengguna yang ditiru, dan konteks panggilan) di-cache untuk metode asinkron Socket . Setelah penggunaan pertama konteks tertentu (metode asinkron Socket tertentu, instans tertentu Socket , dan panggilan balik tertentu), penggunaan konteks tersebut berikutnya akan melihat peningkatan performa.

Lihat juga

Berlaku untuk

BeginAccept(Int32, AsyncCallback, Object)

Sumber:
Socket.cs
Sumber:
Socket.cs
Sumber:
Socket.cs

Memulai operasi asinkron untuk menerima upaya koneksi masuk dan menerima blok data pertama yang dikirim oleh aplikasi klien.

public:
 IAsyncResult ^ BeginAccept(int receiveSize, AsyncCallback ^ callback, System::Object ^ state);
public IAsyncResult BeginAccept (int receiveSize, AsyncCallback? callback, object? state);
public IAsyncResult BeginAccept (int receiveSize, AsyncCallback callback, object state);
member this.BeginAccept : int * AsyncCallback * obj -> IAsyncResult
Public Function BeginAccept (receiveSize As Integer, callback As AsyncCallback, state As Object) As IAsyncResult

Parameter

receiveSize
Int32

Jumlah byte yang akan diterima dari pengirim.

callback
AsyncCallback

Delegasi AsyncCallback .

state
Object

Objek yang berisi informasi status untuk permintaan ini.

Mengembalikan

Yang IAsyncResult mereferensikan pembuatan asinkron Socket .

Pengecualian

Objek Socket telah ditutup.

Soket yang menerima tidak mendengarkan koneksi. Anda harus menelepon Bind(EndPoint) dan Listen(Int32) sebelum memanggil BeginAccept(AsyncCallback, Object).

-atau-

Soket yang diterima terikat.

receiveSize kurang dari 0.

.NET Framework dan .NET 5 dan yang lebih lama saja: Terjadi kesalahan saat mencoba mengakses soket.

Keterangan

Penting

Ini adalah API kompatibilitas. Kami tidak merekomendasikan penggunaan metode APM (Begin* dan End*) untuk pengembangan baru. Sebagai gantinya Task, gunakan setara berbasis.

Protokol berorientasi koneksi dapat menggunakan BeginAccept metode untuk mulai menerima upaya koneksi masuk. Sebelum memanggil BeginAccept metode , Anda harus memanggil Listen metode untuk mendengarkan dan mengantre permintaan koneksi masuk.

Anda dapat meneruskan panggilan balik yang diterapkan AsyncCallback untuk BeginAccept mendapatkan pemberitahuan tentang penyelesaian operasi terima. Perhatikan bahwa jika tumpukan jaringan yang mendasar menyelesaikan operasi secara sinkron, panggilan balik mungkin dijalankan sebaris, selama panggilan ke BeginAccept. Dalam hal ini, CompletedSynchronously properti pada yang dikembalikan IAsyncResult akan diatur ke true untuk menunjukkan bahwa metode selesai secara sinkron. AsyncState Gunakan properti dari IAsyncResult untuk mendapatkan objek status yang diteruskan ke BeginAccept metode .

Operasi BeginAccept harus diselesaikan dengan memanggil EndAccept metode . Biasanya, metode ini dipanggil oleh delegasi yang disediakan AsyncCallback . EndAccept akan memblokir utas panggilan hingga operasi selesai.

Untuk membatalkan panggilan tertunda ke BeginAccept metode , tutup Socket. Ketika metode dipanggil Close saat operasi asinkron sedang berlangsung, panggilan balik yang diberikan ke BeginAccept metode dipanggil. Panggilan berikutnya ke EndAccept metode akan melempar ObjectDisposedException (sebelum .NET 7) atau SocketException (pada .NET 7+) untuk menunjukkan bahwa operasi telah dibatalkan.

Catatan

Anda dapat menggunakan RemoteEndPoint properti yang dikembalikan Socket untuk mengidentifikasi alamat jaringan host jarak jauh dan nomor port.

Catatan

Jika Anda menerima SocketException, gunakan SocketException.ErrorCode properti untuk mendapatkan kode kesalahan tertentu.

Catatan

Anggota ini mengeluarkan informasi pelacakan saat Anda mengaktifkan pelacakan jaringan di aplikasi Anda. Untuk informasi selengkapnya, lihat Pelacakan Jaringan di .NET Framework.

Catatan

Konteks eksekusi (konteks keamanan, pengguna yang ditiru, dan konteks panggilan) di-cache untuk metode asinkron Socket . Setelah penggunaan pertama konteks tertentu (metode asinkron Socket tertentu, instans tertentu Socket , dan panggilan balik tertentu), penggunaan konteks tersebut berikutnya akan melihat peningkatan performa.

Lihat juga

Berlaku untuk

BeginAccept(Socket, Int32, AsyncCallback, Object)

Sumber:
Socket.cs
Sumber:
Socket.cs
Sumber:
Socket.cs

Memulai operasi asinkron untuk menerima upaya koneksi masuk dari soket tertentu dan menerima blok data pertama yang dikirim oleh aplikasi klien.

public:
 IAsyncResult ^ BeginAccept(System::Net::Sockets::Socket ^ acceptSocket, int receiveSize, AsyncCallback ^ callback, System::Object ^ state);
public IAsyncResult BeginAccept (System.Net.Sockets.Socket? acceptSocket, int receiveSize, AsyncCallback? callback, object? state);
public IAsyncResult BeginAccept (System.Net.Sockets.Socket acceptSocket, int receiveSize, AsyncCallback callback, object state);
member this.BeginAccept : System.Net.Sockets.Socket * int * AsyncCallback * obj -> IAsyncResult
Public Function BeginAccept (acceptSocket As Socket, receiveSize As Integer, callback As AsyncCallback, state As Object) As IAsyncResult

Parameter

acceptSocket
Socket

Objek yang Socket diterima. Nilai ini mungkin null.

receiveSize
Int32

Jumlah maksimum byte yang akan diterima.

callback
AsyncCallback

Delegasi AsyncCallback .

state
Object

Objek yang berisi informasi status untuk permintaan ini.

Mengembalikan

Objek IAsyncResult yang mereferensikan pembuatan objek asinkron Socket .

Pengecualian

Objek Socket telah ditutup.

Soket yang menerima tidak mendengarkan koneksi. Anda harus menelepon Bind(EndPoint) dan Listen(Int32) sebelum memanggil BeginAccept(AsyncCallback, Object).

-atau-

Soket yang diterima terikat.

receiveSize kurang dari 0.

.NET Framework dan .NET 5 dan yang lebih lama saja: Terjadi kesalahan saat mencoba mengakses soket.

Keterangan

Penting

Ini adalah API kompatibilitas. Kami tidak merekomendasikan penggunaan metode APM (Begin* dan End*) untuk pengembangan baru. Sebagai gantinya Task, gunakan setara berbasis.

Protokol berorientasi koneksi dapat menggunakan BeginAccept metode untuk mulai menerima upaya koneksi masuk. Operasi penerimaan yang dihasilkan diwakili oleh yang dikembalikan IAsyncResult meskipun dapat selesai secara sinkron. Sebelum memanggil BeginAccept metode , Anda harus memanggil Listen metode untuk mendengarkan dan mengantre permintaan koneksi masuk.

Anda dapat meneruskan panggilan balik yang diterapkan AsyncCallback untuk BeginAccept mendapatkan pemberitahuan tentang penyelesaian operasi terima. Perhatikan bahwa jika tumpukan jaringan yang mendasar menyelesaikan operasi secara sinkron, panggilan balik mungkin dijalankan sebaris, selama panggilan ke BeginAccept. Dalam hal ini, CompletedSynchronously properti pada yang dikembalikan IAsyncResult akan diatur ke true untuk menunjukkan bahwa metode selesai secara sinkron. AsyncState Gunakan properti dari IAsyncResult untuk mendapatkan objek status yang diteruskan ke BeginAccept metode .

Operasi BeginAccept harus diselesaikan dengan memanggil EndAccept metode . Biasanya, metode ini dipanggil oleh delegasi yang disediakan AsyncCallback . EndAccept akan memblokir utas panggilan hingga operasi selesai.

Untuk membatalkan panggilan tertunda ke BeginAccept metode , tutup Socket. Ketika metode dipanggil Close saat operasi asinkron sedang berlangsung, panggilan balik yang diberikan ke BeginAccept metode dipanggil. Panggilan berikutnya ke EndAccept metode akan melempar ObjectDisposedException (sebelum .NET 7) atau SocketException (pada .NET 7+) untuk menunjukkan bahwa operasi telah dibatalkan.

Catatan

Anda dapat menggunakan RemoteEndPoint properti yang dikembalikan Socket untuk mengidentifikasi alamat jaringan host jarak jauh dan nomor port.

Catatan

Jika Anda menerima SocketException, gunakan SocketException.ErrorCode properti untuk mendapatkan kode kesalahan tertentu.

Catatan

Anggota ini mengeluarkan informasi pelacakan saat Anda mengaktifkan pelacakan jaringan di aplikasi Anda. Untuk informasi selengkapnya, lihat Pelacakan Jaringan di .NET Framework.

Catatan

Konteks eksekusi (konteks keamanan, pengguna yang ditiru, dan konteks panggilan) di-cache untuk metode asinkron Socket . Setelah penggunaan pertama konteks tertentu (metode asinkron Socket tertentu, instans tertentu Socket , dan panggilan balik tertentu), penggunaan konteks tersebut berikutnya akan melihat peningkatan performa.

Lihat juga

Berlaku untuk