Socket.ReceiveMessageFrom Yöntem
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
Aşırı Yüklemeler
ReceiveMessageFrom(Byte[], Int32, Int32, SocketFlags, EndPoint, IPPacketInformation) |
Belirtilen bayt sayısını belirtilen SocketFlagsveri arabelleğinin belirtilen konumuna alır ve uç nokta ile paket bilgilerini depolar. |
ReceiveMessageFrom(Span<Byte>, SocketFlags, EndPoint, IPPacketInformation) |
Belirtilen bayt sayısını belirtilen |
ReceiveMessageFrom(Byte[], Int32, Int32, SocketFlags, EndPoint, IPPacketInformation)
- Kaynak:
- Socket.cs
- Kaynak:
- Socket.cs
- Kaynak:
- Socket.cs
Belirtilen bayt sayısını belirtilen SocketFlagsveri arabelleğinin belirtilen konumuna alır ve uç nokta ile paket bilgilerini depolar.
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
Parametreler
- offset
- Int32
Alınan verileri depolamak için parametresindeki konum buffer
.
- size
- Int32
Alınacak bayt sayısı.
- socketFlags
- SocketFlags
Değerlerin bit düzeyinde birleşimi SocketFlags .
- remoteEP
- EndPoint
Başarılı almada güncelleştirilecek uzak konağın uç noktasıyla aynı türde bir EndPoint başvuru.
- ipPacketInformation
- IPPacketInformation
Tutma IPPacketInformation adresi ve arabirim bilgileri.
Döndürülenler
Alınan bayt sayısı.
Özel durumlar
offset
0'dan küçüktür.
-veya-
offset
, uzunluğundan buffer
büyüktür.
-veya-
size
0'dan küçüktür.
-veya-
size
uzaklık parametresinin buffer
değeri eksi değerinden büyük.
socketFlags
geçerli bir değer bileşimi değildir.
-veya-
LocalEndPoint Özellik ayarlanmadı.
-veya-
.NET Framework AMD 64 bit işlemci üzerinde çalışıyor.
-veya-
Yuvaya erişmeye çalışılırken bir hata oluştu.
Kapatılmış Socket .
Açıklamalar
ReceiveMessageFrom yöntemi verileri parametresine buffer
okur, başarıyla okunan bayt sayısını döndürür ve verilerin gönderildiği uzak konak uç noktasının yanı sıra alınan paket hakkındaki bilgileri yakalar.
ReceiveMessageFrom yöntemi öncelikle bağlantısız bir yuvada ileti verilerini almak için kullanılır. Yuvanın yerel adresi bilinmelidir. Bu yöntem yalnızca veri birimi ve ham yuvalarla kullanılabilir. Yuva, bu yöntemi çağırmadan önce veya Raw olarak ayarlanmış Dgram yuva türüyle başlatılmalıdır. Yuva kullanılarak Socketoluşturulduğunda bu yapılabilir.
İleti odaklı yuvalar için, parametreye buffer
parametrede belirtilen size
toplam boyuta kadar bir gelen ileti yerleştirilir.
offset
parametresi, verilerin nereye buffer
yerleştirileceğini belirler. içine buffer
yerleştirilen gerçek veri miktarı yöntemi tarafından ReceiveMessageFrom döndürülür.
ReceiveMessageFrom yöntemi otomatik olarak yuva seçeneğini true
belirli Socketbir için ilk kez çağrılacak şekilde ayarlarPacketInformation. Ancak, döndürülen IPPacketInformation nesne yalnızca yuva seçeneği ayarlandıktan sonra yerel bilgisayara ulaşan paketler için geçerli olacaktır. Yuva, yerel uç noktaya bağlı olduğunda (açıkça yöntemi veya Bind örtük olarak , ConnectAsync, SendToveya SendToAsync yöntemlerinden biri Connecttarafından) ve yöntemine ReceiveMessageFrom ilk çağrısı arasında paketler gönderilirse, yönteme ReceiveMessageFrom yapılan çağrılar bu paketler için geçersiz IPPacketInformation nesneler döndürür.
Tüm IPPacketInformation nesnelerin geçerli olduğundan emin olmak için, uygulamanın yöntemini kullanarak yerel uç noktaya bağlanmadan önce yuva seçeneğini true
olarak ayarlaması PacketInformationSetSocketOption(SocketOptionLevel, SocketOptionName, Boolean) gerekir.
Bir uygulama, veri biriminin ipPacketInformation
tek noktaya yayın, çok noktaya yayın veya yayın adresi kullanılarak gönderilip gönderilmediğini bilmesi gerekiyorsa parametresini inceleyebilir.
Not
AddressFamily içinde ReceiveFrom kullanılan öğesinin EndPoint içinde kullanılan SendToile EndPoint eşleşmesi AddressFamily gerekir.
Not
Uygulamanızda ağ izlemeyi etkinleştirdiğinizde, bu üye izleme bilgilerini çıkarır. Daha fazla bilgi için bkz. .NET Framework'da Ağ İzleme.
Ayrıca bkz.
- Connect(EndPoint)
- ReceiveFrom(Byte[], Int32, Int32, SocketFlags, EndPoint)
- Available
- Shutdown(SocketShutdown)
- Close()
Şunlara uygulanır
ReceiveMessageFrom(Span<Byte>, SocketFlags, EndPoint, IPPacketInformation)
- Kaynak:
- Socket.cs
- Kaynak:
- Socket.cs
- Kaynak:
- Socket.cs
Belirtilen bayt sayısını belirtilen socketFlags
veri arabelleğinin belirtilen konumuna alır ve uç nokta ile paket bilgilerini depolar.
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
Parametreler
- socketFlags
- SocketFlags
Değerlerin bit düzeyinde birleşimi SocketFlags .
- remoteEP
- EndPoint
Başarılı almada güncelleştirilecek uzak konağın uç noktasıyla aynı türde bir EndPoint başvuru.
- ipPacketInformation
- IPPacketInformation
Tutma IPPacketInformation adresi ve arabirim bilgileri.
Döndürülenler
Alınan bayt sayısı.
Özel durumlar
Nesne Socket kapatıldı.
EndPoint remoteEP şeklindedirnull
.
AddressFamily içinde ReceiveMessageFrom(Span<Byte>, SocketFlags, EndPoint, IPPacketInformation) kullanılan öğesininEndPoint, SendTo'da kullanılan ile EndPoint eşleşmesi AddressFamily gerekir.
Socket Nesne engelleme modunda değil ve bu zaman uyumlu çağrıyı kabul edemiyor. Bu işlemi gerçekleştirmeden önce Bind yöntemini çağırmanız gerekir.