選項名稱(optname) 說明 數據類型
========================================================================
SO_BROADCAST 允許發送廣播數據 int
SO_DEBUG 允許調試 int
SO_DONTROUTE 不查找 int
SO_ERROR 獲得套接字錯誤 int
SO_KEEPALIVE 保持連接 int
SO_LINGER 延遲關閉連接 struct linger
SO_OOBINLINE 帶外數據放入正常數據流 int
SO_RCVBUF 接收緩沖區大小 int
SO_SNDBUF 發送緩沖區大小 int
SO_RCVLOWAT 接收緩沖區下限 int
SO_SNDLOWAT 發送緩沖區下限 int
SO_RCVTIMEO 接收超時 struct timeval
SO_SNDTIMEO 發送超時 struct timeval
SO_REUSERADDR 允許重用本地地址和端口 int
SO_TYPE 獲得套接字類型 int
SO_BSDCOMPAT 與BSD系統兼容 int========================================================================
IPPROTO_IP:IP選項
選項名稱(optname) 說明 數據類型
========================================================================
IP_HDRINCL 在數據包中包含IP首部 int
IP_OPTINOS IP首部選項 int
IP_TOS 類型
IP_TTL 生存時間 int========================================================================
IPPROTO_TCP:TCP選項
選項名稱(optname) 說明 數據類型
========================================================================
TCP_MAXSEG TCP最大數據段的大小 int
TCP_NODELAY 不使用Nagle算法 int========================================================================
/*** LWIP_TCP_KEEPALIVE==1: Enable TCP_KEEPIDLE, TCP_KEEPINTVL and TCP_KEEPCNT* options processing. Note that TCP_KEEPIDLE and TCP_KEEPINTVL have to be set* in seconds. (does not require sockets.c, and will affect tcp.c)*/#if !defined LWIP_TCP_KEEPALIVE || defined __DOXYGEN__#define LWIP_TCP_KEEPALIVE 1#endif
voidStartDefaultTask(voidconst* argument){/* init code for LWIP */MX_LWIP_Init();/* USER CODE BEGIN StartDefaultTask */printf("TCP keepalive test!\r\n");/* Infinite loop */for(;;){vTcpKeepaliveTask();osDelay(100);}/* USER CODE END StartDefaultTask */}