我提出一个无阻塞的一个插座,旁边一个阻塞发送呼叫收到另一个插座。之后,我想检查非阻塞发送是成功还是失败。如何才能做到这一点?检查非阻塞发送成功
while (i)
{
retval = send (out_sd, s_message, strlen (s_message), MSG_DONTWAIT);
retval = recv (client_sd, r_message, MSG_LEN, 0);
r_message[retval] = '\0';
/* Here I want to wait for the non-blocking send to complete */
strcpy (s_message, r_message);
strcpy (r_message, "");
i--;
}
是否可以使用回拨? – andre
我不这么认为。只需在进入下一次迭代之前检查发送的消息是失败还是成功或排队。 – phoxis
使用两个不同的var/s来存储send/recv的结果。 – alk