У меня есть две программы, которые используют программирование сокетов для связи. Сначала я укажу номер. прыжков относительно того, сколько времени они должны обмениваться сообщениями между собой. Каждый раз, когда он получает сообщение, он добавляет к нему свой идентификатор. Следовательно, строка каждый раз увеличивается в размере. Моя программа работает нормально для 8000 прыжков, но после того, как она пересекает 8000, хотя программа p1 отправляет строку длиной 16388, p2 идентифицирует, что в сокете есть только 16385, готовых для чтения. Я использую ioctl() для определения количества символов, готовых к recv() в сокете, а затем получаю их в переменной char *...
Это потому, что есть задержка в send() в p1 и recv() в p2, что p2 идентифицирует только 16385 символов в сокете?
Например: если P1 отправляет длину (16388)
P2 получает только следующую длину (16385)