- клиент и сервер, запущены на одной машине под Win10, оба кидают пакеты друг в друга. Клиент кидает пакет под 100 байт, сервер ~20 байт.
Чтение и отправка в разных горутинах.
Периодически (и совсем рандомно) сервер получает 2 лишних байта в потоке (два нуля перед данными, которые должен вычитать ReadFull). Это критическая ошибка для обмена и приходится рвать сессию.
Горутина чтения простая - там два подряд идущих ReadFull, считанные данные скидываются в канал.
Запускал wireshark, там нет этих лишних байт.
Кто-нибудь сталкивался с таким?
попахивает race’ом
Скорее всего не два нуля, а eof
Обсуждают сегодня