PR_GetConnectStatus¶
获取非阻塞连接的完成状态。
语法¶
PRStatus PR_GetConnectStatus(const PRPollDesc *pd);
参数¶
该函数具有以下参数
pd
指向一个
PRPollDesc
结构体的指针,其fd
字段是套接字,其in_flags
字段必须包含PR_POLL_WRITE
和PR_POLL_EXCEPT
。
返回值¶
该函数返回以下值之一
如果成功,则返回
PR_SUCCESS
。如果失败,则返回
PR_FAILURE
。可以通过 PR_GetError 获取失败的原因。
如果 PR_GetError 返回 PR_IN_PROGRESS_ERROR
,则非阻塞连接仍在进行中,尚未完成。其他错误表示连接已失败。
描述¶
在非阻塞套接字上 PR_Connect 由于 PR_IN_PROGRESS_ERROR
而失败后,您可以通过在套接字上调用 PR_Poll 并使用 in_flags
PR_POLL_WRITE
| PR_POLL_EXCEPT
来等待连接完成。当 PR_Poll 返回时,在套接字上调用 PR_GetConnectStatus 以确定非阻塞连接是成功还是失败。