我提出一個無阻塞的一個插座,旁邊一個阻塞發送呼叫收到另一個插座。之後,我想檢查非阻塞發送是成功還是失敗。如何才能做到這一點?檢查非阻塞發送成功
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