C 语言里不支持的 TCP 窗口大小调整吗
資深大佬 : holinhot 4
gcc version 4.8.5 20150623 (Red Hat 4.8.5-39) (GCC)编译的时候报错误。
*server2.c: In function ‘create_server_fd’: server2.c:81:42: error: ‘TCP_WINDOW_CLAMP’ undeclared (first use in this function) if (setsockopt(serverfd, SOL_SOCKET, TCP_WINDOW_CLAMP, (char )& WINDOW_CLAMP, sizeof(WINDOW_CLAMP)) < 0) ^ server2.c:81:42: note: each undeclared identifier is reported only once for each function it appears in
int serverfd = socket(PF_INET, SOCK_STREAM, IPPROTO_TCP); int REUSEADDR = 1; int REUSEPORT = 1; int WINDOW_CLAMP = 1; if (setsockopt(serverfd, SOL_SOCKET, SO_REUSEADDR, (const char*)&REUSEADDR, sizeof(REUSEADDR)) < 0) perror("setsockopt(SO_REUSEADDR) failed"); if (setsockopt(serverfd, SOL_SOCKET, SO_REUSEPORT, (const char*)&REUSEPORT, sizeof(REUSEPORT)) < 0) perror("setsockopt(SO_REUSEPORT) failed"); if (setsockopt(serverfd, SOL_SOCKET, TCP_WINDOW_CLAMP, (char *)& WINDOW_CLAMP, sizeof(WINDOW_CLAMP)) < 0) perror("setsockopt(TCP_WINDOW_CLAMP) failed"); if (serverfd == -1) EXIT("create socket fail");
大佬有話說 (6)