Sdílet prostřednictvím


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

Siehe auch

Referenz

DevicePacketStream-Klasse

DevicePacketStream-Member

Microsoft.SmartDevice.Connectivity-Namespace