DevicePacketStream.Read-Methode
Aktualisiert: November 2007
Liest Daten aus dem Gerät und gibt ein Paketobjekt zurück.
Namespace: Microsoft.SmartDevice.Connectivity
Assembly: Microsoft.SmartDevice.Connectivity (in Microsoft.SmartDevice.Connectivity.dll)
Syntax
'Declaration
Public Function Read As Packet
'Usage
Dim instance As DevicePacketStream
Dim returnValue As Packet
returnValue = instance.Read()
public Packet Read()
public:
Packet^ Read()
public function Read() : Packet
Rückgabewert
Typ: Microsoft.SmartDevice.Connectivity.Packet
Paketobjekt mit Daten, die über einen Gerätepaketstream übertragen werden.
Ausnahmen
Ausnahme | Bedingung |
---|---|
IOException | Tritt auf, wenn beim Lesen eines Pakets eine Ausnahme auftritt oder wenn die im Stream übermittelten Daten keinem gültigen Paketobjekt entsprechen. |
SerializationException | Das Paket wurde während der Netzwerkübertragung beschädigt. |
Hinweise
Wenn die im gelesenen Stream übermittelten Daten keinem gültigen Paket entsprechen, löst diese Methode eine Ausnahme aus.
Diese Methode sollte aufgerufen werden, nachdem IsPacketAvailable den Wert True zurückgegeben hat. Ein Paket ist verfügbar, wenn ein verbundener Geräte-Agent ein Paket in den Stream schreibt, indem Write aufgerufen wird.
Beispiele
' While stream is connected, try to read a packet.
While ps.IsConnected()
If ps.IsPacketAvailable() Then
packet = ps.Read()
While Not packet.IsEndOfPacket()
Select Case packet.ReadDataType()
Case DataType.BoolType
Dim boolValue As Boolean = packet.ReadBool()
Case DataType.ByteArrayType
Dim buffer As Byte() = packet.ReadBytes()
Case DataType.ByteType
Dim byteValue As Byte = packet.ReadByte()
Case DataType.CharType
Dim charValue As Char = packet.ReadChar()
Case DataType.Int32Type
Console.WriteLine("Int32Type: " + packet.ReadInt32().ToString())
Case DataType.StringType
Console.WriteLine("String: " + packet.ReadString())
Case Else
End Select
End While
Exit While
End If
System.Threading.Thread.Sleep(1000)
End While
ps.Close()
device.Disconnect()
// While stream is connected, try to read a packet.
while (ps.IsConnected())
{
if (ps.IsPacketAvailable())
{
packet = ps.Read();
while (!packet.IsEndOfPacket())
{
switch (packet.ReadDataType())
{
case DataType.BoolType:
bool boolValue = packet.ReadBool();
break;
case DataType.ByteArrayType:
byte[] buffer = packet.ReadBytes();
break;
case DataType.ByteType:
byte byteValue = packet.ReadByte();
break;
case DataType.CharType:
char charValue = packet.ReadChar();
break;
case DataType.Int32Type:
Console.WriteLine("Int32Type: " + packet.ReadInt32().ToString());
break;
case DataType.StringType:
Console.WriteLine("String: " + packet.ReadString());
break;
default:
break;
}
}
break;
}
System.Threading.Thread.Sleep(1000);
}
ps.Close();
device.Disconnect();
Berechtigungen
- Volle Vertrauenswürdigkeit für den unmittelbaren Aufrufer. Dieser Member kann von nur teilweise vertrauenswürdigem Code nicht verwendet werden. Weitere Informationen finden Sie unter Verwenden von Bibliotheken aus teilweise vertrauenswürdigem Code.