Из документов MSDN я понимаю, что событие DataReceived не обязательно будет запускаться один раз за байт.
Но кто-нибудь знает, что именно является механизмом, который вызывает событие?
Перезапускает ли прием каждого байта таймер, который должен достигать, скажем, 10 мс между байтами, до того, как событие сработает?
Я спрашиваю, потому что я пытаюсь написать приложение, которое читает данные XML, поступающие из последовательного порта.
Поскольку у моего ноутбука нет последовательных портов, я использую виртуальный эмулятор последовательного порта. (Я знаю, я знаю - я ничего не могу поделать с этим банкоматом).
Когда я передаю данные через эмулируемый порт в мое приложение, событие запускается один раз для каждой записи XML (около 1500 байт). Отлично. Но когда коллега в другом офисе пробует его на двух компьютерах, соединенных реальным кабелем, событие DataReceived запускается многократно, после каждых примерно 10 байтов XML, что полностью сбрасывает приложение.