Socket.ReceiveFromAsync(SocketAsyncEventArgs) Metódus
Definíció
Fontos
Egyes információk olyan, kiadás előtti termékekre vonatkoznak, amelyek a kiadásig még jelentősen módosulhatnak. A Microsoft nem vállal kifejezett vagy törvényi garanciát az itt megjelenő információért.
Elkezd aszinkron módon adatokat fogadni egy megadott hálózati eszközről.
public:
bool ReceiveFromAsync(System::Net::Sockets::SocketAsyncEventArgs ^ e);
public bool ReceiveFromAsync(System.Net.Sockets.SocketAsyncEventArgs e);
member this.ReceiveFromAsync : System.Net.Sockets.SocketAsyncEventArgs -> bool
Public Function ReceiveFromAsync (e As SocketAsyncEventArgs) As Boolean
Paraméterek
Az SocketAsyncEventArgs aszinkron szoftvercsatorna-művelethez használni kívánt objektum.
Válaszok
true ha az I/O-művelet függőben van. A Completed paraméter eseménye a e művelet befejezésekor lesz előállítva.
false ha az I/O-művelet szinkron módon fejeződött be. Ebben az esetben a e paraméter eseménye nem lesz előállítva, Completed és a e paraméterként átadott objektum azonnal megvizsgálható, miután a metódushívás visszatér a művelet eredményének lekéréséhez.
Kivételek
A RemoteEndPoint null érték nem lehet.
A szoftvercsatorna-művelet már folyamatban volt a SocketAsyncEventArgs paraméterben e megadott objektummal.
A Socket le van zárva.
Hiba történt a szoftvercsatorna elérésekor.
Megjegyzések
A ReceiveFromAsync metódust elsősorban kapcsolat nélküli szoftvercsatornák adatainak fogadására használják. A szoftvercsatorna helyi címének ismertnek kell lennie.
A hívónak a SocketAsyncEventArgs.RemoteEndPoint tulajdonságot EndPoint a távoli gazdagép végpontjának típusával megegyező típusúra kell állítania. A tulajdonság a tényleges távoli végpontra való sikeres fogadással frissül.
A SocketAsyncEventArgs.SocketFlags paraméter tulajdonsága e további információkat biztosít a Windows Sockets szolgáltatónak az olvasási kérelemről. További információ a paraméter használatáról: System.Net.Sockets.SocketFlags.
A metódus sikeres meghívásához a következő tulajdonságokra és eseményekre van szükség az System.Net.Sockets.SocketAsyncEventArgs objektumon:
A hívó a SocketAsyncEventArgs.UserToken metódus meghívása előtt bármilyen felhasználói állapotobjektumra beállíthatja a ReceiveFromAsync tulajdonságot, hogy az információk lekérthetők legyenek a visszahívási metódusban. Ha a visszahívásnak több információra van szüksége, mint egyetlen objektum, létrehozhat egy kis osztályt, amely tagként tárolja a többi szükséges állapotinformációt.
Üzenetorientált szoftvercsatornák esetén a rendszer a puffer teljes méretének megfelelő mennyiségű bejövő üzenetet helyez a pufferbe. A SocketAsyncEventArgs.Count tulajdonságok határozzák SocketAsyncEventArgs.Offset meg, hogy a pufferben hová kerülnek az adatok és az adatok mennyisége.
Byte stream stílusú szoftvercsatornák esetén a bejövő adatok a pufferbe kerülnek, amíg meg nem töltik a puffert, bezárják a kapcsolatot, vagy a belsőleg pufferelt adatok kimerülnek. A SocketAsyncEventArgs.Count tulajdonságok határozzák SocketAsyncEventArgs.Offset meg, hogy a pufferben hová kerülnek az adatok és az adatok mennyisége.