Python socket编程之(二):socket的选项设置

1.简介

socket选项主要是由setsockoptgetsockopt函数完成

 

 

2.函数介绍

int getsockopt(int sockfd, int level, int optname,
                   void *optval, socklen_t *optlen);

 


int setsockopt(int sockfd, int level, int optname,
                   const void *optval, socklen_t optlen);

 

 

3.参数列表

 Python socket编程之(二):socket的选项设置

 

 

 

4.实例

设置socket套接字可以复用地址

int opt = 1;
setsockopt(sockfd, SOL_SOCKET, SO_REUSEADDR, &opt, sizeof(opt));

设置socket套接字KeepLive

int opt = 1;
setsockopt(sockfd, SOL_SOCKET, SO_KEEPALIVE, &opt, sizeof(opt));

设置TCP Socket:禁用纳格算法

setsockopt(sockfd, IPPROTO_TCP, TCP_NODELAY, (int[]){1}, sizeof(int));

设置TCP Socket:禁用Delay ACK(需要在每次recv后调用)

setsockopt(sockfd, IPPROTO_TCP, TCP_QUICKACK, (int[]){1}, sizeof(int));

 

 

 

参考 http://www.cnblogs.com/ggjucheng/archive/2012/02/17/2355874.html