Socket.ReceiveMessageFrom 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.
Overload
ReceiveMessageFrom(Byte[], Int32, Int32, SocketFlags, EndPoint, IPPacketInformation) |
Menerima jumlah byte data yang ditentukan ke lokasi buffer data yang ditentukan, menggunakan SocketFlags, dan menyimpan titik akhir dan informasi paket. |
ReceiveMessageFrom(Span<Byte>, SocketFlags, EndPoint, IPPacketInformation) |
Menerima jumlah byte data yang ditentukan ke lokasi buffer data yang ditentukan, menggunakan |
ReceiveMessageFrom(Byte[], Int32, Int32, SocketFlags, EndPoint, IPPacketInformation)
- Sumber:
- Socket.cs
- Sumber:
- Socket.cs
- Sumber:
- Socket.cs
Menerima jumlah byte data yang ditentukan ke lokasi buffer data yang ditentukan, menggunakan SocketFlags, dan menyimpan titik akhir dan informasi paket.
public:
int ReceiveMessageFrom(cli::array <System::Byte> ^ buffer, int offset, int size, System::Net::Sockets::SocketFlags % socketFlags, System::Net::EndPoint ^ % remoteEP, [Runtime::InteropServices::Out] System::Net::Sockets::IPPacketInformation % ipPacketInformation);
public int ReceiveMessageFrom (byte[] buffer, int offset, int size, ref System.Net.Sockets.SocketFlags socketFlags, ref System.Net.EndPoint remoteEP, out System.Net.Sockets.IPPacketInformation ipPacketInformation);
member this.ReceiveMessageFrom : byte[] * int * int * SocketFlags * EndPoint * IPPacketInformation -> int
Public Function ReceiveMessageFrom (buffer As Byte(), offset As Integer, size As Integer, ByRef socketFlags As SocketFlags, ByRef remoteEP As EndPoint, ByRef ipPacketInformation As IPPacketInformation) As Integer
Parameter
- offset
- Int32
Posisi dalam buffer
parameter untuk menyimpan data yang diterima.
- size
- Int32
Jumlah byte yang akan diterima.
- socketFlags
- SocketFlags
Kombinasi bitwise dari SocketFlags nilai.
- remoteEP
- EndPoint
Referensi ke EndPoint jenis yang sama dengan titik akhir host jarak jauh yang akan diperbarui saat berhasil diterima.
- ipPacketInformation
- IPPacketInformation
Alamat IPPacketInformation penahanan dan informasi antarmuka.
Mengembalikan
Jumlah byte yang diterima.
Pengecualian
offset
kurang dari 0.
-atau-
offset
lebih besar dari panjang buffer
.
-atau-
size
kurang dari 0.
-atau-
size
lebih besar dari panjang buffer
dikurangi nilai parameter offset.
socketFlags
bukan kombinasi nilai yang valid.
-atau-
Properti LocalEndPoint tidak disetel.
-atau-
.NET Framework berjalan pada prosesor AMD 64-bit.
-atau-
Terjadi kesalahan saat mencoba mengakses soket.
Socket Telah ditutup.
Keterangan
Metode ini ReceiveMessageFrom membaca data ke dalam buffer
parameter, mengembalikan jumlah byte yang berhasil dibaca, dan menangkap titik akhir host jarak jauh tempat data dikirim, serta informasi tentang paket yang diterima.
Metode ReceiveMessageFrom ini digunakan terutama untuk menerima data pesan pada soket tanpa koneksi. Alamat lokal soket harus diketahui. Metode ini hanya dapat digunakan dengan datagram dan soket mentah. Soket harus diinisialisasi dengan jenis soket yang diatur ke Dgram atau Raw sebelum memanggil metode ini. Ini dapat dilakukan ketika soket dibangun menggunakan Socket.
Untuk soket berorientasi pesan, pesan masuk ditempatkan ke dalam buffer
parameter hingga ukuran total yang ditentukan dalam size
parameter . Parameter offset
menentukan di mana dalam buffer
data ditempatkan. Jumlah aktual data yang ditempatkan ke buffer
dalam dikembalikan oleh ReceiveMessageFrom metode .
Metode ReceiveMessageFrom secara otomatis mengatur PacketInformation opsi soket ke true
pertama kali dipanggil untuk diberikan Socket. Namun, objek yang dikembalikan IPPacketInformation hanya akan berlaku untuk paket yang tiba di komputer lokal setelah opsi soket ditetapkan. Jika soket dikirim paket antara ketika terikat ke titik akhir lokal (secara eksplisit oleh Bind metode atau secara implisit oleh salah Connectsatu metode , , ConnectAsyncSendTo, atau SendToAsync ) dan panggilan pertamanya ke ReceiveMessageFrom metode , panggilan ke ReceiveMessageFrom metode akan mengembalikan objek yang tidak valid IPPacketInformation untuk paket ini.
Untuk memastikan bahwa semua IPPacketInformation objek valid, aplikasi harus mengatur PacketInformation opsi soket ke true
sebelum terikat ke titik akhir lokal menggunakan SetSocketOption(SocketOptionLevel, SocketOptionName, Boolean) metode .
Aplikasi dapat memeriksa ipPacketInformation
parameter jika perlu mengetahui apakah datagram dikirim menggunakan alamat unicast, multicast, atau siaran.
Catatan
Dari yang EndPoint digunakan dalam ReceiveFrom perlu mencocokkan AddressFamily dari yang EndPoint digunakan dalam SendTo.AddressFamily
Catatan
Anggota ini mengeluarkan informasi pelacakan saat Anda mengaktifkan pelacakan jaringan di aplikasi Anda. Untuk informasi selengkapnya, lihat Pelacakan Jaringan di .NET Framework.
Lihat juga
- Connect(EndPoint)
- ReceiveFrom(Byte[], Int32, Int32, SocketFlags, EndPoint)
- Available
- Shutdown(SocketShutdown)
- Close()
Berlaku untuk
ReceiveMessageFrom(Span<Byte>, SocketFlags, EndPoint, IPPacketInformation)
- Sumber:
- Socket.cs
- Sumber:
- Socket.cs
- Sumber:
- Socket.cs
Menerima jumlah byte data yang ditentukan ke lokasi buffer data yang ditentukan, menggunakan socketFlags
, dan menyimpan titik akhir dan informasi paket.
public:
int ReceiveMessageFrom(Span<System::Byte> buffer, System::Net::Sockets::SocketFlags % socketFlags, System::Net::EndPoint ^ % remoteEP, [Runtime::InteropServices::Out] System::Net::Sockets::IPPacketInformation % ipPacketInformation);
public int ReceiveMessageFrom (Span<byte> buffer, ref System.Net.Sockets.SocketFlags socketFlags, ref System.Net.EndPoint remoteEP, out System.Net.Sockets.IPPacketInformation ipPacketInformation);
member this.ReceiveMessageFrom : Span<byte> * SocketFlags * EndPoint * IPPacketInformation -> int
Public Function ReceiveMessageFrom (buffer As Span(Of Byte), ByRef socketFlags As SocketFlags, ByRef remoteEP As EndPoint, ByRef ipPacketInformation As IPPacketInformation) As Integer
Parameter
- socketFlags
- SocketFlags
Kombinasi bitwise dari SocketFlags nilai.
- remoteEP
- EndPoint
Referensi ke EndPoint jenis yang sama dengan titik akhir host jarak jauh yang akan diperbarui saat berhasil diterima.
- ipPacketInformation
- IPPacketInformation
Alamat IPPacketInformation penahanan dan informasi antarmuka.
Mengembalikan
Jumlah byte yang diterima.
Pengecualian
Objek Socket telah ditutup.
EndPoint RemoteEP adalah null
.
AddressFamily Dari yang EndPoint digunakan di ReceiveMessageFrom(Span<Byte>, SocketFlags, EndPoint, IPPacketInformation) perlu mencocokkan AddressFamily dari yang EndPoint digunakan di SendTo.
Objek Socket tidak dalam mode pemblokiran dan tidak dapat menerima panggilan sinkron ini. Anda harus memanggil metode Ikat sebelum melakukan operasi ini.