Все, я возвращаюсь к работе над эмулятором сети. Собственно, доделать оказалось не так уж и много, и посидев с утра пару часов в отладчике, я все доделал. Что я реализовал:
1. Перешел от программного опроса потока (что так портило тебе FPS) к полностью асинхронному вводу данных, по сигналу от ОС. Теперь FPS в твоем любимом турборежиме при пассивной сети не снижается вообще. При активном обмене с сетью немного проседает, но это естественно для однопоточной задачи.
2. Полностью реализовал поддержку псевдотерминалов. Теперь можно соединять эмулятор с железным корветом через компорт, а также другой копией эмулятора и моей сетевой программой KL через виртуальный терминал.
3. Самое важное - сделал сохранение лог-файла сетевого обмена. Благодаря этому логу можно посмотреть, как и в каком порядке эмулятор обменивался данными с сетью.
Теперь в эмуляторе без всяких сбоев работают сетевые программы типа STS, Postman итд. С сетевыми ОС несколько сложнее, тут обсудить надо, но вначале тебе самому стоит попробовать.
Собственно, я готов внести свои изменения в твой исходный текст. Только вот вопрос - где этот исходный текст последней версии брать? Ты мне 2 варианта присылал, и в этой теме выложил ссылку на репозиторий. Может, у тебя в загашнике еще поновее что-то есть, чтобы мне мартышкиной работой больше не заниматься...




Ответить с цитированием