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
| Name | Description |
|---|---|
| ReceiveMessageFrom(Byte[], Int32, Int32, SocketFlags, EndPoint, IPPacketInformation) |
Belirtilen sayıda veriyi belirtilen veri arabelleğinin belirtilen konumuna alır ve SocketFlagsuç nokta ile paket bilgilerini depolar. |
| ReceiveMessageFrom(Span<Byte>, SocketFlags, EndPoint, IPPacketInformation) |
Belirtilen sayıda veriyi belirtilen veri arabelleğinin belirtilen konumuna alır ve |
ReceiveMessageFrom(Byte[], Int32, Int32, SocketFlags, EndPoint, IPPacketInformation)
- Kaynak:
- Socket.cs
- Kaynak:
- Socket.cs
- Kaynak:
- Socket.cs
- Kaynak:
- Socket.cs
- Kaynak:
- Socket.cs
Belirtilen sayıda veriyi belirtilen veri arabelleğinin belirtilen konumuna alır ve SocketFlagsuç 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 bufferbü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 Özelliği 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ı ve alınan paket hakkındaki bilgileri yakalar.
ReceiveMessageFrom yöntemi öncelikli olarak 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 Dgram olarak ayarlanmış Raw yuva türüyle başlatılmalıdır. Yuva kullanılarak Socketoluşturulduğunda bu yapılabilir.
İleti odaklı yuvalar için, parametrede belirtilen buffer toplam boyuta kadar parametreye size 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 PacketInformation belirli truebir için ilk kez çağrılacak şekilde ayarlarSocket. 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. Bir yuva, yerel uç noktaya bağlı olduğunda (açıkça yöntemi tarafından Bind veya örtük olarak , Connect, ConnectAsyncveya SendTo yöntemlerinden biri SendToAsynctarafından) ve yöntemine ReceiveMessageFrom ilk çağrısı arasında paket 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, bir uygulamanın yöntemini kullanarak yerel bir uç noktaya bağlanmadan önce yuva seçeneğini PacketInformation olarak ayarlaması trueSetSocketOption(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.
Note
AddressFamily içinde EndPoint kullanılan öğesinin ReceiveFrom içinde kullanılan AddressFamilyile EndPoint eşleşmesi SendTo gerekir.
Note
Bu üye, uygulamanızda ağ izlemeyi etkinleştirdiğinizde izleme bilgilerini döndürür. Daha fazla bilgi için bkz. .NET Framework
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
- Kaynak:
- Socket.cs
- Kaynak:
- Socket.cs
Belirtilen sayıda veriyi belirtilen veri arabelleğinin belirtilen konumuna alır ve socketFlagsuç 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
Socket Nesne 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ğırmalısınız.