Dela via


DevicePacketStream.Read Method

Reads data from the device and returns a packet object.

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

Return Value

Type: Microsoft.SmartDevice.Connectivity.Packet
Packet object that contains data transferred over the device packet stream.

Exceptions

Exception Condition
IOException

Occurs if an exception occurs when reading a packet. or if data that arrived on the stream is not a valid packet object.

SerializationException

The packet was corrupted during transmission over the network.

Remarks

If data arrived on the read stream is not a valid packet, this method throws an exception.

This method should be called after IsPacketAvailable returns True. A packet is available when a connected device agent writes a packet to the stream by calling Write.

Examples

' 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();

.NET Framework Security

See Also

Reference

DevicePacketStream Class

DevicePacketStream Members

Microsoft.SmartDevice.Connectivity Namespace