Packet.ReadBytes - метод
Обновлен: Ноябрь 2007
Считывает массив байтов из объекта Packet и указывает внутреннему итератору на следующий объект данных в пакете.
Пространство имен: Microsoft.SmartDevice.Connectivity
Сборка: Microsoft.SmartDevice.Connectivity (в Microsoft.SmartDevice.Connectivity.dll)
Синтаксис
'Декларация
Public Function ReadBytes As Byte()
'Применение
Dim instance As Packet
Dim returnValue As Byte()
returnValue = instance.ReadBytes()
public byte[] ReadBytes()
public:
array<unsigned char>^ ReadBytes()
public function ReadBytes() : byte[]
Возвращаемое значение
Тип: array<System.Byte[]
Массив байтов, считанный из пакета.
Исключения
Исключение | Условие |
---|---|
InvalidOperationException | Выдается при выполнении одного или нескольких из следующих условий:
|
Заметки
После считывания последнего объекта данных в пакете этот метод устанавливает для флага конца пакета (end-of-packet — EOP) значение true и увеличивает значение итератора. Следующий вызов метода Read создает исключение InvalidOperationException. Пользователи должны всегда проверять наличие флага EOP перед вызовом метода Read.
Примеры
' 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();
Разрешения
- Полное доверие для непосредственно вызывающего метода. Этот член не может быть использован частично доверенным кодом. Дополнительные сведения см. в разделе Использование библиотек из не вполне надежного кода.