105 lines
2.4 KiB
C
105 lines
2.4 KiB
C
/*
|
||
* 模块名称:Network Configuration
|
||
* 模块功能:网络子系统配置宏定义,包括最大Socket数量、缓冲区大小、
|
||
* 超时时间等参数配置
|
||
* 适用平台:STM32F4 系列(CH395F 以太网芯片)
|
||
* 作者:王建锋
|
||
* 创建日期:2026-07-18
|
||
* 修改记录:
|
||
*/
|
||
|
||
#ifndef __NET_CONFIG_H
|
||
#define __NET_CONFIG_H
|
||
|
||
#ifdef __cplusplus
|
||
extern "C" {
|
||
#endif
|
||
|
||
/*
|
||
* 最大支持的 Socket 数量(CH395F 支持 0~7)
|
||
*/
|
||
#ifndef NET_MAX_SOCKETS
|
||
#define NET_MAX_SOCKETS 8
|
||
#endif
|
||
|
||
/*
|
||
* TCP Server 多连接模式配置
|
||
* 监听 Socket 索引和数据 Socket 起始索引
|
||
*/
|
||
#ifndef NET_TCP_SERVER_LISTEN_SOCK
|
||
#define NET_TCP_SERVER_LISTEN_SOCK 0 /* 监听 Socket 索引 */
|
||
#endif
|
||
|
||
/*
|
||
* 缓冲区大小配置
|
||
*/
|
||
#ifndef NET_SEND_BUF_SIZE
|
||
#define NET_SEND_BUF_SIZE 4096 /* 发送缓冲区大小(字节) */
|
||
#endif
|
||
|
||
#ifndef NET_RECV_BUF_SIZE
|
||
#define NET_RECV_BUF_SIZE 4096 /* 接收缓冲区大小(字节) */
|
||
#endif
|
||
|
||
/*
|
||
* 超时时间配置(毫秒)
|
||
* 0 = 无限等待(阻塞模式)
|
||
*/
|
||
#ifndef NET_CONNECT_TIMEOUT_MS
|
||
#define NET_CONNECT_TIMEOUT_MS 5000 /* 连接超时 */
|
||
#endif
|
||
|
||
#ifndef NET_ACCEPT_TIMEOUT_MS
|
||
#define NET_ACCEPT_TIMEOUT_MS 0 /* 接受连接超时(0=无限等待) */
|
||
#endif
|
||
|
||
#ifndef NET_SEND_TIMEOUT_MS
|
||
#define NET_SEND_TIMEOUT_MS 1000 /* 发送超时 */
|
||
#endif
|
||
|
||
#ifndef NET_RECV_TIMEOUT_MS
|
||
#define NET_RECV_TIMEOUT_MS 30000 /* 接收超时(30秒,0=无限等待) */
|
||
#endif
|
||
|
||
/*
|
||
* TCP KeepAlive 配置
|
||
*/
|
||
#ifndef NET_KEEPALIVE_IDLE_MS
|
||
#define NET_KEEPALIVE_IDLE_MS 7200000 /* KeepAlive 空闲时间(默认2小时) */
|
||
#endif
|
||
|
||
#ifndef NET_KEEPALIVE_INTVL_MS
|
||
#define NET_KEEPALIVE_INTVL_MS 75000 /* KeepAlive 探测间隔(默认75秒) */
|
||
#endif
|
||
|
||
#ifndef NET_KEEPALIVE_CNT
|
||
#define NET_KEEPALIVE_CNT 9 /* KeepAlive 探测次数(默认9次) */
|
||
#endif
|
||
|
||
/*
|
||
* select/poll 最大 fd 数量
|
||
*/
|
||
#ifndef NET_SELECT_MAX_FDS
|
||
#define NET_SELECT_MAX_FDS NET_MAX_SOCKETS
|
||
#endif
|
||
|
||
/*
|
||
* 轮询延时配置(毫秒)
|
||
*/
|
||
#ifndef NET_POLL_DELAY_MS
|
||
#define NET_POLL_DELAY_MS 1 /* 非阻塞轮询延时 */
|
||
#endif
|
||
|
||
/*
|
||
* 消息队列配置
|
||
*/
|
||
#ifndef NET_MSG_QUEUE_LENGTH
|
||
#define NET_MSG_QUEUE_LENGTH 8 /* 消息队列深度 */
|
||
#endif
|
||
|
||
#ifdef __cplusplus
|
||
}
|
||
#endif
|
||
|
||
#endif /* __NET_CONFIG_H */
|