с использованием файлового потока с файловым дескриптором для связи с USB-HID-устройством Устройство Resend Report (массив байтов [64]) по мере его поступления. получить метод происходит в другом потоке, запускающего события, когда отчеты считывают ,,filestream C# повторно считывать данные
Каждая попытка посылает ТОЛЬКО ОДИН «Отчет» первая попытка Ok ,, 1 отчет получен, но когда я посылаю снова читает его в два раза! (он доступен дважды в filestream ??) при следующей попытке событие снова срабатывает дважды! после этого добавить его в три раза в течение следующих 3-х попыток
attempt 1 1 report received
attempt 2 2 reports received
attempt 3 2 reports received
attempt 3 3 reports received
attempt 4 3 reports received
attempt 5 3 reports received
attempt 6 4 reports received
attempt 7 4 reports received
любые другие сообщения, отправленные причиной 4 доклада получил есть какое-либо логическое описание для этого?
код:
private void WriteData(object Data)
{
byte[] data = Data as byte[];
int bytesSent = 0;
while (bytesSent < data.Length)
{
byte [] OutputReportBuffer = new byte[64];
for (int i = 0; i < OutputReportBuffer.Length; i++)
if (bytesSent < data.Length)
{
OutputReportBuffer[i] = data[bytesSent];
bytesSent++;
}
else OutputReportBuffer[i] = 0;
try
{
fileStream.Write(OutputReportBuffer, 0, OutputReportBuffer.Length);
fileStream.Flush();
}
catch///deducted code
}
}
здесь, где его получил (отдельный поток, который запускает событие, когда данные считываются)
private void ReadData()
{
while (true)
{
try
{
if (fileStream.Read(ReceivedDataBuffer, 0, ReceivedDataBuffer.Length) > 0)
{
_Context.Send(o =>
{
if (DataReceived != null)
DataReceived(this, new DataReceivedEventArgs(ReceivedDataBuffer));
}, null);
}
}
catch //deducted code
}
}
Код пожалуйста. Вероятно, вы не оцениваете результат чтения. – usr
Я добавил код –
Добро пожаловать в StackOverflow! См. [«Если вопросы включают« теги »в их названиях?») (Http://meta.stackexchange.com/questions/19190/should-questions-include-tags-in-their-titles), где консенсус «нет, они не должны». –