2

OS X でdelayed_ack の値を 3 (デフォルト) から 0 に変更しようとしています。送信スペースはプログラムで変更できますが、delayed_ack は変更できません。考え?ありがとう。

int sendspace,retval,new_sendspace,len;
len = sizeof(sendspace);
new_sendspace = 131072;
retval =    sysctlbyname("net.inet.tcp.sendspace", &sendspace, &len,&new_sendspace, &len);

上記の作品。

// Turn off delayed Ack
int delayed_ack = 0;
len = sizeof(delayed_ack);
retval = sysctlbyname("net.inet.tcp.delayed_ack", &delayed_ack, &len, &delayed_ack, 
    &len);
printf("retval for delayed ack is %d\n",retval);    

delayed_ack が 0 に設定されることはありません。

4

1 に答える 1

0

私の答えを見つけました。これがあなたのやり方です。

setsockopt(sockfd,IPPROTO_TCP, TCP_NODELAY,(char *) &flag, sizeof(int));
于 2013-03-01T22:51:21.133 に答える