FreeRTOS_sockets.h
BaseType_t FreeRTOS_listen( Socket_t xSocket, BaseType_t xBacklog );
将 TCP 套接字置于它正在侦听的状态下,且在此状态中套接字可以接受
来自远程套接字的传入连接请求。
必须首先通过调用
FreeRTOS_socket() 成功创建套接字,
然后调用
FreeRTOS_bind() 绑定到端口。
默认情况下,将创建一个新的套接字(子套接字)来处理任何接受的连接。
新的套接字将由
FreeRTOS_accept() 返回,
并可立即使用。 子套接字会继承
父套接字的所有属性。
FREERTOS_SO_REUSE_LISTEN_SOCKET 参数可以在
调用 FreeRTOS_setsockopt() 时使用,
用以配置父套接字
处理任何接受的 连接本身,而无需创建子套接字
完成此操作。 当套接字一次只处理一个连接时,
这是一个节省资源的有用方法。 例如,如果套接字被用来
实现只允许一个同时连接的 telnet 服务器,
此时可采用此方法。
参数:
返回:
如果套接字成功置于侦听状态,则
返回 0。
如果 xSocket 不是有效的 TCP 套接字,则返回 -pdFREERTOS_ERRNO_EOPNOTSUPP
。
如果 xSocket 未处于绑定状态但处于关闭状态,则返回 -pdFREERTOS_ERRNO_EOPNOTSUPP。
请注意,因为 FreeRTOS 未实现 errno,
在出现错误时的行为必然与 connect() 函数的行为不同,
后者完全符合预期的伯克利
套接字行为。
用法示例:
请参阅“创建、配置和绑定 TCP 服务器套接字”源
代码示例(详见
《创建、配置和绑定 TCP 客户端和服务器套接字》
一章,隶属 FreeRTOS-Plus-TCP 网络教程页面)。
Copyright (C) Amazon Web Services, Inc. or its affiliates. All rights reserved.