recv を待機し、データを受信した後、処理のためにデータを転送するソケットがあります。しかし、その後再び recv に行き、今度は何も受信せずに -1 を返し、errno を出力すると 35 (つまりEAGAIN
) を出力します。
これは MAC OS Lion オペレーティング システムでのみ発生し、他の OS では問題なく動作します。
do{
rc = recv(i, buffer, sizeof(buffer), 0);
if (rc < 0){
printf("err code %d", errno);
}
if(rc == 0){
//Code for processing the data in buffer
break;
}
....
}while(1);
編集: インデントとエラー番号を修正