Повторные передачи TCP в конфигурации сокета - PullRequest
1 голос
/ 08 декабря 2011

Я использую в качестве сокета в C ++ (Winsock2 для Windows и socket.h для Linux) Есть ли способ настроить повторные передачи TCP, чтобы быть меньше или больше, чем по умолчанию? Я имею в виду: я знаю, что есть ключ реестра:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters
TCPMaxDataRetransmissions

что там я могу настроить его для всех приложений, но я хочу настроить только сокет в моем приложении, чтобы он отличался от значения по умолчанию.

Ответы [ 2 ]

1 голос
/ 09 декабря 2011

Я не пробовал это, но я знаю, что есть опция TCP_MAXRT, которую вы можете установить.Просто сделал быстрый поиск в каталоге include, и я вижу, что он определен в ws2ipdef.h в Windows.

int maxrt = 10;
setsockopt(sock, IPPROTO_TCP, TCP_MAXRT, &maxrt, sizeof(maxrt));
0 голосов
/ 08 декабря 2011

Здесь http://msdn.microsoft.com/en-us/library/windows/desktop/ee470551%28v=vs.85%29.aspx

у вас есть хорошие объяснения, как это работает на разных версиях окон, в разделе замечаний.

...