tkl_network | 网络通信接口
tkl_network.c
文件提供了一系列网络通信过程中所需的 API,以适配不同的网络接口。这些 API 包括创建套接字、连接、绑定、监听、发送数据、接收数据、设置和获取套接字选项等网络操作。文件定义了对网络 API 的常见处理,并允许通过这些封装的函数来实现跨平台的网络通信。
API 说明
tkl_net_get_errno
TUYA_ERRNO tkl_net_get_errno(void);
功能
获取网络错误码。
参数
无参数。
返回值
成功时返回 0,否则返回特定于目标系统的错误码。
tkl_net_fd_set
OPERATE_RET tkl_net_fd_set(const int fd, TUYA_FD_SET_T* fds);
功 能
将文件描述符添加到集合中。
参数
fd
:待添加的文件描述符。fds
:文件描述符集合的指针。
返回值
成功时返回 OPRT_OK
,否则请参考 tuya_error_code.h
中的错误码。
tkl_net_fd_clear
OPERATE_RET tkl_net_fd_clear(const int fd, TUYA_FD_SET_T* fds);
功能
从集合中清除文件描述符。
参数
fd
:待清除的文件描述符。fds
:文件描述符集合的指针。
返回值
成功时返回 OPRT_OK
,否则请参考 tuya_error_code.h
中的错误码。
tkl_net_fd_isset
OPERATE_RET tkl_net_fd_isset(const int fd, TUYA_FD_SET_T* fds);
功能
检查文件描述符是否在集合中。
参数
fd
:待检查的文件描述符。fds
:文件描述符集合的指针。
返回值
如果文件描述符在集合中,返回 TRUE
,否则返回 FALSE
。
tkl_net_fd_zero
OPERATE_RET tkl_net_fd_zero(TUYA_FD_SET_T* fds);
功能
清除文件描述符集合中的所有文件描述符。
参数
fds
:文件描述符集合的指针。
返回值
成功时返回 OPRT_OK
,否则请参考 tuya_error_code.h
中的错误码。
tkl_net_select
int tkl_net_select(const int maxfd, TUYA_FD_SET_T *readfds, TUYA_FD_SET_T *writefds, TUYA_FD_SET_T *errorfds, const uint32_t ms_timeout);
功能
获取可用的文件描述符集合。
参数
maxfd
:要检查的文件描述符集合中的最大文件描述符数加一。readfds
:可读取文件描述符集合的指针。writefds
:可写文件描述符集合的指针。errorfds
:出错的文件描述符集合的指针。ms_timeout
:超时时间,单位为毫秒。