Bagikan melalui


Socket.ReceiveMessageFrom Metode

Definisi

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 socketFlags, dan menyimpan titik akhir dan informasi paket.

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

buffer
Byte[]

Array jenis Byte yang merupakan lokasi penyimpanan untuk data yang diterima.

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

bufferadalah null.

-atau-

remoteEPadalah null.

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.

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

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

buffer
Span<Byte>

Span<T> Jenis Byte yang merupakan lokasi penyimpanan untuk data yang 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

Objek Socket telah ditutup.

EndPoint RemoteEP adalah null.

Objek Socket tidak dalam mode pemblokiran dan tidak dapat menerima panggilan sinkron ini. Anda harus memanggil metode Ikat sebelum melakukan operasi ini.

Berlaku untuk