1つのソケットで1つのノンブロッキング送信コールを行い、次に別のソケットでブロック受信を行います。その後、ノンブロッキング送信が成功したか失敗したかをチェックしたいと思います。これはどうすればできますか?ノンブロッキングセンドが成功したかどうかを確認します。
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
2つの異なるvar/sを使用してsend/recvの結果を保存します。 – alk