зависит от того, насколько велика ваша задержка на одноранговый узел, скажем, у вас есть соединение со скоростью 100 Мбит / с и задержка 50 мс, тогда вы можете рассчитать
100MBps * 0.050 sec / 8 = 0.625MB = 625KB
, но размер окна по умолчанию в Linux 2.6 составляет около 110 КБ, что ограничивает скорость до 2,2 МБ / с (110 КБ / 0,050)
итак, починить что вы можете setsockopt
int ret, sock, buf_size;
sock = socket(AF_INET, SOCK_STREAM, 0);
buf_size = 625*1024;
ret = setsockopt(sock, SOL_SOCKET, SO_SNDBUF, (char *)&buf_size, sizeof(buf_size));
ret = setsockopt(sock, SOL_SOCKET, SO_RCVBUF, (char *)&buf_size, sizeof(buf_size));