Цитата(NeoN @ Feb 4 2005, 13:46)
А вот это уже интересно - чтобы подсчитать длину пакета, полученного от RTL, нужно дождаться приема этого пакета полностью, след. длину удастся в канал передать только в конце пакета. А на удаленной стороне эта длина нужна в начале пакета. Т.е. прийдется буфферизовать пакет либо на приеме, либо на передаче, причем, одним буффером обойтись не удастся - пока один пакет принимается, другой должен передаваться в канал? Или я что-то не понимаю?
Пакет буферизируется на предаче(фифо), на лету подсчитывается длина, и вставляется в начало пакета при выходе его из фифо, при этом в этот же фифо записывается следующий пакет и подсчитывается его длина. Для длин тоже небольшое фифо есть, поскольку в фифо для пакетов их(пакетов) несколько может продвигаться. На приёме всё просто, никаких буферов.