>Сетевой демон на C. Для соединений использую протокол tcp, проблема в том
>что он является потоковым. Т.е. у меня нет гарантий, что один
>пакет посланный клиентом сервер не примет как несколько пакетов, и наоборот
>- несколько пакетов от клиента сервер может принять при чтении с
>сокета как один.
>Подскажите как с этим бороться. Есть мысль использовать сигнатуры начала и конца
>пакетов, но уж больно накладно получается, поиск строк в пакетах. Может
>есть способ лучше?
>
>PS: использовать udp не предлагать - tcp нужен для контроля состояния соединения
>и контроля доставки пакетов.
(про то что поток можно резать уже сказали)
можно попробовать и какой-нить другой протокол..
например SCTP (http://www.sctp.org/ )
или обойтись udp, сделав свой механизм квитирования и переповторов.
Ах да - udp просили не предлагать..зря
;-)
|